String 编码方式 raw(默认编码方式),embstr(小于44字节时使用),int(整数),内存使用依次减小
raw是RedisObject指针指向SDS,embstr是redisobject和sds合并为一个连续的内存块,int是redisobject中的指针中直接存储数据,没有sds
List 底层是quicklist,双向列表和ziplist的合体
quicklist有首尾节点,每个节点指向一个ziplist,首尾的节点不压缩,中间的都压缩
Set无序,唯一,查询效率高
采用HT编码(Dict)
当存储整数,元素数量不超过max-intset时采用intset编码,来节省内存
ZSet根据Score排序,唯一,底层数据结构要满足键值存储,键唯一,可排序
采用HT和跳表(SkipList),HT可以键值存储,根据键唯一查询,SkipList可以根据score,ele排序
当元素数量不多时,采用ziplist结构,节省内存
Hash默认采用ziplist,当元素多时采用HT