Redis的编码机制

编码机制

String

​ int 条件:数据为整型值,并可用long型表示。

结构:long。

​ raw 条件:长度大于32字节的字符串。

结构:SDS(简单动态字符串),分配两块内存空间,分别存放对象元数据和字符串值。

​ embstr 条件:长度小于等于32字节的字符串。

结构:SDS(简单动态字符串),分配一块内存空间,连续存放对象元数据和字符串值。

List

​ ziplist 条件:元素数量小于512,并每个元素的长度小于64字节。

结构:压缩列表。

​ linkedlist

​ ziplist 条件:不符合ziplist。

结构:压缩列表。

​ quicklist

条件:3.2开始。

结构:快速列表。

hash

​ ziplist 条件:键值对数量小于512,并所有的键值的长度小于64字节。

结构:压缩列表。

​ hashtable 条件:不符合ziplist。

​ ** 结构**:字典。

set

​ intset 条件:所有元素都为整数,且数量不超过512个。

结构:整数集合。

​ hashtable 条件:不符合intset。

​ ** 结构**:字典,键存储字符串,value=null。

zset

​ ziplist 条件:元素数量小于128,并每个元素的长度小于64字节。

结构:压缩列表。

​ skiplist 条件:不符合ziplist。

结构:字典加跳表。

posted @ 2021-10-09 09:24  LinAlex  阅读(56)  评论(0)    收藏  举报