前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Redis的quicklist vs ziplist

Redis的quicklist vs ziplist

作者头像
克虏伯
发布2023-04-03 08:47:48
发布2023-04-03 08:47:48
2460
举报

    ziplist是压缩列表,是list和hash的底层实现。

    ziplist

    是redis为节约内存占用而设计的一种线性数据结构

  1. zlbytes:记录整个ziplist占用的内存数
  2. zltail:记录压缩列表尾节点和起始地址有多少字节数,通过这个偏移量,不用逐个遍历,就可以获取尾节点的位置
  3. zllen:记录压缩列表中含有的节点数
  4. zlend:特殊标记,0xFF用于标记压缩列表的末端

    压缩列表的各个节点组成,如下,previous_entry_length是前一个节点的长度,用于从后向前遍历,encoding里面存储当前节点的长度的数据类型,content是实际存储数据的部分

    quicklist

    ziplist是内存紧凑型存储,但由于使用一维线性数据结构,当数据量大时,更新时内存重新分配,会涉及大数据量的迁移,所以quicklist用ziplist组成双向列表,列表中的每个节点都是ziplist

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •     ziplist
  •     quicklist
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档