redis对象的结构
一个这样的结构体占用16字节
string对象的结构体
1)string编码第一种–64位有符号整数
2)string编码第二种–embstr
3)string编码第三种–raw
这种结构需要内存分配两次,一次分配16字节的redis对象结构体,一次分配sds对象,sds是动态扩容的,策略是:字符串在长度小于 1M 之前,扩容空间采用加倍策略,也就是保留 100% 的冗余空
间。当长度超过 1M 之后,为了避免加倍后的冗余空间过大而导致浪费,每次扩容只会多分配 1M 大小的冗余空间。