列表对象
-
列表对象的编码可以是ziplist或者linkedlist
-
编码转换的规则
- 当满足如下规则则使用ziplist编码
- 列表对象保存的所有字符串元素的长度都小于64字节
- 列表对象保存的元素数量小于512个
- 反之,使用linkedlist编码
- 强调一下,如上规则可以修改参数 list-max-ziplist-value 和 list-max-ziplist-entries 选项的说明
- 当使用ziplist 不能满足列表对象时,则会将原本保存在压缩列表的所有元素转移到双端链表里面,编码也会从ziplist 变成 linkedlist
- 当满足如下规则则使用ziplist编码
哈希对象
-
哈希对象的编码可以是ziplist或者hashtable
-
编码转换的规则
- 当满足如下规则则使用ziplist编码
- 哈希对象保存的所有键值对的键和值的字符串长度都小于64字节
- 哈希对象保存的所有键值对的数量小于512个
- 反之,使用hashtable编码
- 强调一下,如上规则可以修改参数 hash-max-ziplist-value 和 hash-max-ziplist-entries 选项的说明
- 当使用ziplist编码所需的以上两个条件的任意一个不能被满足时,对象的编码转换操作就会被执行 ,编码也会从ziplist 变成 linkedlist
- 当满足如下规则则使用ziplist编码