Redis 学习 ---- 7.压缩列表

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


7.2 压缩列表节点的构成

每个节点可以保存一个字节数组或者一个整数值

字节数组长度:63或16383或4294967295位

整数值长度:    4、8、16、24、32、64位

每个节点都由previous_entry_length、encoding、content三部分组成


previous_entry_length:记录了压缩列表中前一个节点的长度,1字节或5字节


7.3 连锁更新


7.5 重点回顾

Ⅰ压缩列表是一种为节约内存而开发的顺序型数据结构

Ⅱ压缩列表被用作列表键和哈希键的底层实现之一

Ⅲ压缩列表可以包含多个结点,每个结点可以保存一个字节数组或者整数值

Ⅳ添加新结点到压缩列表,或者从压缩列表中删除节点,可能会引发连锁更新操作,但这种操作出现的几率并不高

你可能感兴趣的:(Redis 学习 ---- 7.压缩列表)