Redis中五大数据结构的底层实现( 三 )


 
压缩列表是列表键和哈希键的底层实现之一 。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数,要么就是长度比较短的字符串,那么Redis 就会使用压缩列表来做列表键的底层实现 。
 
一个压缩列表的组成如下:
 

Redis中五大数据结构的底层实现

文章插图
 
 
  • zlbytes:用于记录整个压缩列表占用的内存字节数
  • zltail:记录要列表尾节点距离压缩列表的起始地址有多少字节
  • zllen:记录了压缩列表包含的节点数量
  • entryX:要说列表包含的各个节点
  • zlend:用于标记压缩列表的末端
 
2、特性
 
  • 压缩列表是一种为了节约内存而开发的顺序型数据结构
  • 压缩列表被用作列表键和哈希键的底层实现之一
  • 压缩列表可以包含多个节点,每个节点可以保存一个字节数组或者整数值
  • 添加新节点到压缩列表,可能会引发连锁更新操作 。

【Redis中五大数据结构的底层实现】


推荐阅读