Ziplist 是由一系列特殊编码的内存块构成的列表,一个ziplist 能够包含多个节点(entry),每数组
个节点能够保存一个长度受限的字符数组(不以\0 结尾的char 数组)或者整数,包括:ide
字符数组编码
– 长度小于等于63 (26 1)字节的字符数组spa
– 长度小于等于16383 (214 1)字节的字符数组3d
– 长度小于等于4294967295 (232 1)字节的字符数组blog
整数ip
– 4 位长,介于0 至12 之间的无符号整数内存
– 1 字节长,有符号整数v8
– 3 字节长,有符号整数get
– int16_t 类型整数
– int32_t 类型整数
– int64_t 类型整数
由于ziplist 节约内存的性质,它被哈希键、列表键和有序集合键做为初始化的底层实现来使
用
ziplist 的构成
小结
ziplist 是由一系列特殊编码的内存块构成的列表,它能够保存字符数组或整数值,它仍是
哈希键、列表键和有序集合键的底层实现之一。
ziplist 典型分布结构以下:
ziplist 节点的分布结构以下:
添加和删除ziplist 节点有可能会引发连锁更新,所以,添加和删除操做的最坏复杂度为
O(N2) ,不过,由于连锁更新的出现几率并不高,因此通常能够将添加和删除操做的复
杂度视为O(N) 。
这部分有点不太懂,回头须要复习啊!!!