《Redis 设计与实现》笔记 - 压缩列表
数据结构
压缩列表是 Redis 为了节约内存而开发的,由一系列特殊编码的连续内存块组成的顺序型数据结构。
压缩列表中的字段描述:
zlbytes 记录压缩列表占用的内存字节数;
zltail 记录压缩列表尾节点的偏移量;
zllen 记录压缩列表的节点数量
entryX 是压缩列表保存的节点数据;
每个 entry 压缩列表节点可以保存一个字节数组或者一个整数值
字节数组支持以下三种长度:63(2^6-1)、16,383(2^14-1)、4,294,967,295(2^32-1)
整数值支持以下六种长度:4 bit、1 byte、3 byte、int16_t、int32_t、int64_t
zlend 是一个特殊值,值为
0xFF
,用于记录压缩列表的末端。
最后更新于