前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Redis学习笔记02-列表对象

Redis学习笔记02-列表对象

作者头像
WindCoder
发布2020-01-22 10:58:11
发布2020-01-22 10:58:11
42500
代码可运行
举报
文章被收录于专栏:WindCoderWindCoder
运行总次数:0
代码可运行

底层实现

ziplist编码

使用压缩列表作为底层实现,每个压缩列表节点(entity)保存了一个列表元素。

linkedlist编码

使用双端链表作为底层实现,每个双端链表节点(Node)都保存了一个字符串对象,而每个字符串对象都保存了一个列表元素。

编码转换

使用ziplist编码的条件,需要对象可以同时满足以下两个条件,不能满足的需要用linkedlist编码:

  1. 列表对象保存的所有字符串元素的长度都小于64字节
  2. 列表对象保存的元素数量小于512个

以上两个条件的上限值是可以修改的,涉及到配置文件的选项:

代码语言:javascript
代码运行次数:0
复制
list-max-ziplist-value
list-max-ziplist-entries

基础命令

暂时不过多展开。

  • 创建-链尾:RPUSH Key value1 value2 value3......
  • 创建-链首:LPUSH Key value1 value2 value3.....

参考资料

Redis设计与实现》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 底层实现
    • ziplist编码
    • linkedlist编码
    • 编码转换
  • 基础命令
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档