redis对应的数据类型及其底层实现原理

知识浅谈 知识浅谈 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

redis对应的数据类型

  1. String
  2. List
  3. Hash
  4. Set
  5. Zset

底层原理

String :在C语言中如果是数字小于2^64-1 使用int存储,其它字符串在redis新版本上如果小于44字节,是哦也能够embstr(压缩字符串),否则使用raw,两者都是基于sds(简单动态字符串结构)实现,区别就是sds object和数据是分开的。
List:当列表个数小于512且单个元素小于64字节,使用压缩列表ziplist,否则使用双向循环列表
Hash:当列表个数小于512且单个元素小于64字节,使用压缩列表ziplist,否则使用散列表
Set:存储的数据是整数,且不超过512个,使用有序数组存储,否则使用散列表
Zset:当列表个数小于512且单个元素小于64字节,使用压缩列表ziplist,否则使用跳表,zset排序是每个元素对应一个score值,按照这个值排序的。

...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
知识浅谈
知识浅谈 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
知识浅谈后端社区 20,254 成员 79 内容