Redis 数据类型与实现
2021-05-26 09:53:36 0 举报
Redis数据类型的底层数据结构实现
作者其他创作
大纲/内容
集合 Set
Redis 对象
Redis 底层数据结构
列表的底层数据结构选择:压缩列表:同时满足1)所有元素小于 512 个2)所有元素的长度小于 64 字节链表:比较多的字符串,且字符串比较长
压缩列表
集合的底层数据结构选择整数集合:所有集合元素都是整数,且个数小于 512(可配置)哈希表:不满足整数集合条件的情况,会编码转换成哈希表实现,所有的集合元素为哈希表的键,哈希表的键值对的值为 null
哈希对象
哈希键的底层数据结构选择:压缩列表:同时满足1)哈希键值对中的键值对的键和值都小于 64 字节2)键值对数小于 512字典:不满足压缩列表条件的,会编码转换成哈希表编码
集合对象
Redis 数据类型
键值对 entry
哈希桶
字符串String
有序集合 Sorted Set
字典(哈希表)
键对象(字符串对象)
字符串对象
列表对象
值对象
字符串对象列表对象哈希对象有序集合对象集合对象
整数集合
全局哈希表
有序集合对象的底层数据结构选择压缩列表:同时满足1)元素小于 128 个(可配置)2)每个元素的长度不超过 64 字节(可配置)跳跃表(字典+跳跃表):不满足压缩列表条件,编码换成跳跃表实现
哈希键Hash
双向链表
列表List
有序集合对象
动态字符串
跳跃表+hash表
收藏
收藏
0 条评论
下一页