1. SDS数据结构

SDS自己维护了一个字段的长度。获取获取字符串长度的效率是O(1);

在字符串拼接的时候,如果空间不够,就会去申请。

修改字符串长度带来修改次数问题:
申请空间:当小于1M时,申请字符串同样长度的空间。
当大于1M时,申请超过1M的空间。
将申请内存次数,有申请N次,改为最多申请N次。

惰性删除:
在删除数据的时候,不会把空间收回。而是会重新整合空间,可以方便后续的数据插入。

二进制安全:
因为记录了字符串的长度len,所以‘0’ 不会对字符串进行截断。

sds也可以使用c语言的类库,避免自己重复造轮子。


zvan
42 声望7 粉丝

我自己真的买了好多书,然而有什么用呢?只是缓解了自己的焦虑,但是自己并没有看那些书。