【redis深层次探索】数据结构和对象【六】-- 压缩列表( ziplist)

一、说明

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

二、压缩列表在redis中的应用

  • 压缩列表( ziplist) 是列表键和哈希键的底层实现之一。

三、压缩列表的实现

压缩列表结构:
【redis深层次探索】数据结构和对象【六】-- 压缩列表( ziplist)
压缩列表各部分详细说明
【redis深层次探索】数据结构和对象【六】-- 压缩列表( ziplist)

三、总结

  • 压缩列表是一种为节约内存而开发的顺序型数据结构。
  • 压缩列表被用作列表键和哈希键的底层实现之一。
  • 压缩列表可以包含多个节点, 每个节点可以保存一个字节数组或者整数值。
  • 添加新节点到压缩列表, 或者从压缩列表中删除节点, 可能会引发连锁更新操作, 但这种操作出现的几率并不高。

参考资料:《redis设计与实现》

上一篇:【redis深层次探索】数据结构和对象【五】-- 整数集合(intset)

                                                                                    不积跬步,无以至千里;不积小流,无以成江海!