redis底层—数据结构
1.动态字符串sds
redis没有直接使用c语言的字符串,是因为c语言的字符串存在一下问题:
1.获取字符串长度的需要通过运算
2.非二进制安全
3.不可修改
优点:
1.获取字符串长度的时间复杂度为0(1)
2.支持动态扩容
3.减少内存分配次数
4.二进制安全
redis没有直接使用c语言的字符串,是因为c语言的字符串存在一下问题:
1.获取字符串长度的需要通过运算
2.非二进制安全
3.不可修改
优点:
1.获取字符串长度的时间复杂度为0(1)
2.支持动态扩容
3.减少内存分配次数
4.二进制安全