简单动态字符串
底层编码
整数字符串对象
embstr编码的字符串对象
简单动态字符串
转换
long int使用int编码
float使用 简单动态字符串编码
当使用embstr编码的字符串长度大于39时,转换为简单动态字符串编码
列表
底层数据结构
压缩列表
双端链表
转换
列表元素长度大于64个字节或者列表元素数量大于512压缩列表编码则转换为双端链表
Hash
底层数据结构
压缩列表
字典
转换
列表元素长度大于64个字节或者列表元素数量大于512压缩列表编码则转换为字典
集合
底层数据结构
整数集合,int16 int32 int64
字典。存储时字典的key存储集合元素,value存储null
转换
整数集合转换为字典,存储的整数数量超过512则使用字段
有序集合
底层数据结构
压缩列表
跳跃表
转换
压缩列表编码要求集合元素数量小于128,元素大小小于64字节。不满足这两个条件则转换为跳跃表。