首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Redis学习笔记02-列表对象

底层实现

ziplist编码

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

linkedlist编码

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

编码转换

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

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

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

代码语言:javascript
复制
list-max-ziplist-value
list-max-ziplist-entries

基础命令

暂时不过多展开。

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

参考资料

Redis设计与实现》

举报
领券