redis五种数据类型及其底层数据结构

参考链接:https://www.imooc.com/article/324827

1. redis中存储键值对的数据结构

image

2. 五种数据类型和相应的数据结构

image

  • 双向链表
    链表节点在内存中分散存储
  • 压缩列表
    节点在内存中连续存储,但与数组不同的是,每个节点所占的内存大小可以不同。

List底层采用压缩列表和双向链表存储,当元素数量小于512个且元素长度均小于64B时,采用压缩列表,否则采用双向链表。

  • 哈希表
    底层是字典

Hash底层采用压缩列表和哈希表存储。当所有键值对的键和值长度都小于64B且数量小于512时,就使用压缩列表,先放入key,再放入value;否则就使用哈希表,直接将每一个键值对存入字典中。

  • 跳表
    跳表在链表的基础上,增加了多级索引
    image

sorted set底层采用压缩表和跳跃表。当元素数量小于128个且元素长度均小于64B时,采用压缩表;否则,采用跳跃表,加快元素的查找速度。

posted @   SmartLiu  阅读(134)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示