多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### ziplist > ziplist 编码的哈希对象使用压缩列表作为底层实现,每当有新的键值要加入到哈希对象时,程序会先将保存了键的压缩列表节点推入压缩列表表尾,然后再将保存了值得压缩列表节点推入到压缩列表表尾 **因此:** * 保存了同一键值对得两个节点总是紧挨在一起,保存键得节点在前,保存值得节点在后 * 先添加到hash对象中的键值对会被放在压缩列表的表头方向,后来的键值对会添加到压缩列表的表尾方向。 ***** 假设 key 为 user 需要加入的值为 "name": "zhangsan" / "age": 15 / "career": "Program" | | | | | | | | --- | --- | --- | --- | --- | --- | | "name" |"zhangsan" | "age" |15| "career" |"Program" | #### hashtable > `hashtable`编码的哈希对象使用字典作为底层实现, 哈希对象中的每个键值对都使用一个字典键值对来保存: * 字典的每个键都是一个字符串对象, 对象中保存了键值对的键; * 字典的每个值都是一个字符串对象, 对象中保存了键值对的值。 ***** 当哈希对象可以同时满足以下两个条件时, 哈希对象使用`ziplist`编码: 1. 哈希对象保存的所有键值对的键和值的字符串长度都小于`64`字节; 2. 哈希对象保存的键值对数量小于`512`个; 不能满足这两个条件的哈希对象需要使用`hashtable`编码。