Redis压缩列表
作为列表键和哈希键的底层实现之一
压缩列表是Redis为了节约内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构
一个压缩列表可以包含任意多个节点,每个节点可以保存一个字节数组或者是一个整数值
压缩列表的组成:
zlbytes zltail zllen entry1…………zlend
zlbytes表示压缩列表总长
zltail记录尾节点到起始节点有多少字节
zllen记录有多少个节点
节点构成:
每个节点可以保存一个字节数组或者是一个整数值
previous_entry_length encoding content
previous_entry_length记录前一个节点的长度
程序可以根据当前节点的起始地址计算出前一个节点的起始地址
encoding 记录content属性所保存数据的类型以及长度
content负责保存节点的值