Redis设计与实现------简单动态数组(SDS)
SDS学习1.1 SDS定义1.2 SDS与C字符串的区别1.3 总结
1.1 SDS定义
每个sds结构表示一个SDS值(有点像vector?):
struct sdshdr{
//buf数组中已占用的字节数量
int len;
//记录buf数组中未使用字节的数量
int free;
//字符数组,用于保存字符串
char buf[];
}
其中buf是一个char类型的数组,以空字符\0结尾。这样做的好处是SDS可以直接重用C字符串函数库里面的函数。
1.2 SDS与C字符串的区别
常数复杂度获取
原创
2020-12-26 21:54:18 ·
244 阅读 ·
0 评论