一马平川
不积跬步无以至千里,后继才能薄发

Redis学习笔记(二):redis的数据结构(三)列表

2020年07月14日
0
未分类

数据结构——列表(List)

什么是列表?

Redis列表是一串字符串列表,按照插入顺序排序,可以从左边(头部)或者右边(尾部)进行数据的插入,一个列表最大支持2^32-1个元素插入。

常用命令

添加

从右边插入元素
1
rpush key value [value ...]
从左边插入元素
1
lpush key value [value ...]
向某个元素前/后插入元素
1
linsert key before|after pivot value

查找

获取指定范围内元素列表
1
lrange key start end
获取指定索引下标元素
1
lindex key index
获取列长度
1
llen key

删除

从左边弹出元素
1
lpop key
从右边弹出元素
1
rpop key
删除指定元素
1
lrem key count value
按照索引范围修整列表
1
ltrim key start end

阻塞

阻塞弹出
1
brpop/blpop key [keys] seconds

内部编码

  • ziplist
    哈希类型元素小于hash-max-ziplist-entries(默认512个)
    所有值都小于hash-max-ziplist-value(默认64字节)

  • linkedlist
    不满足ziplist条件时,转换为linkedlist

  • quicklist(v3.2版本添加)

使用场景

  • 消息队列(lpush+brpop)
  • 栈(lpush+lpop)
  • 队列(lpush+rpop)
  • 有限集合(lpush+ltrim)

如果喜欢这篇文章,可以给作者评个份哦~

原文声明: "转载本站文章请注明作者和出处Nothinglin ,请勿用于任何商业用途"

公众号:苦逼的学生仔