# 结构
# 用处
- String 对象
- List 对象中的字符串对象
- AOF 缓冲区
- 客户端状态中的输入缓冲区
# 定义
struct sdshdr { | |
// 字符串长度 | |
int len; | |
//buf 数组中剩余长度 | |
int free; | |
// 保存字符串,buf.length = len + free + 1 | |
char buf[]; | |
}; |
# 特点
- 常数复杂度获取字符串长度
- 杜绝缓冲区溢出
- 减少修改字符串时带来的内存重分配次数
- 空间预分配
- 惰性空间释放
- 二进制安全
- 兼容部分 C 字符串函数