Redis列表操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39783244/article/details/80323076

List列表

  1. 基于Linked List 实现(索引 从左至右,从0开始   从右至左,从-1开始)
  2. 元素是字符串类型
  3. 列表头尾增删快,中间增删慢,增删元素是常态
  4. 元素可以重复出现
  5. 最多包涵2^32 - 1 个元素

命令说明(help @list 罗列所有关于list的命令)

B     block     块,阻塞

L     left     左

R    right    右

X    exist    存在

左右或者头尾压入元素

LPUSH key value [value......]

LPUSHX key value

RPUSH key value [value......]

RPUSHX key value

左右或者头尾弹出元素

LPOP key

RPOP key


从一个列表尾部弹出元素压入到另一个列表的头部

RPOPLUPSH source destination


返回列表中指定范围的元素

LRANGE key start stop

LRANGE key 0  -1:表示返回所有元素


获取指定位置的元素

LINDEX key index


设置指定位置元素的值

LSET key index value


列表长度,元素个数

LLEN key

从列表头部开始删除值等于value的元素count次

  1. LREM key count value 
  2. count > 0 :从表头开始向表尾搜索,移除与value相等的元素,数量为count
  3. count < 0 :从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值
  4. count = 0 :移除表中所有与value相等的值

去除指定范围外的元素

LTRIM key start stop


在列表某个存在的值前后插入元素

LINSERT key BEFORE|AFTER pivot value (在 pivot 之前或之后 插入元素值value)

如果key和pivot不存在,不进行任何操作,返回 -1

阻塞

1、左右或头尾阻塞弹出元素

BLPOP key [key....] timeout

BRPOP key [key...] timeout

2、从一个列表尾部阻塞弹出元素压入到另一个列表头部

BRPOPLPUSH list1 list2 timeout

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页