redis 列表类型

列表(list)类型用来存储有序的字符串,每个字符串称为元素,一个列表最多保存2的32次幂-1个元素。

列表类型的两个特点 

  •  列表的元素时有序的
  •  列表中的元素可以重复

添加列表list

从右边添加元素(rpush key element [element...]) 

127.0.0.1:6379> rpush list thr two one
(integer) 3
127.0.0.1:6379> lrange list 0 -1  #(lrange key 0 -1)从左到右获取元素
1) "thr"
2) "two"
3) "one"


 从左边添加元素(lpush key element [element...]) 

127.0.0.1:6379> lpush list k t
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "t"
2) "k"
3) "thr"
4) "two"
5) "one"

向指定元素前或者后插入元素(linsert key before|after element value)

 127.0.0.1:6379> linsert list after k h
(integer) 6
127.0.0.1:6379> linsert list before k l
(integer) 7
127.0.0.1:6379> lrange list 0 -1
1) "t"
2) "l"
3) "k"
4) "h"
5) "thr"
6) "two"
7) "one"

 

列表查询操作 

 获取指定索引范围内的元素列表(lrange key start end)

127.0.0.1:6379> lrange list 0 -1
1) "t"
2) "l"
3) "k"
4) "h"
5) "thr"
6) "two"
7) "one"
127.0.0.1:6379> lrange list 1 3
1) "l"
2) "k"
3) "h"
 

获取列表索引下标的值(lindex key index) 

127.0.0.1:6379> lindex list 2
"k"
 

 获取列表长度(llen key)

 127.0.0.1:6379> llen list
(integer) 7

列表删除操作 

删除指定列表元素(lrem key count value)

  • count >0 从左到右删除元素,最多删除count个元素
  • count <0 从右到左删除元素,最多删除|count|个元素
  • count =0 删除所有等于value的元素 

列表从左侧弹出并删除元素(lpop key)

 127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "new"
3) "a"
4) "b"
5) "c"
127.0.0.1:6379> lpop list
"two"
127.0.0.1:6379> lrange list 0 -1
1) "new"
2) "a"
3) "b"
4) "c"

列表从右侧弹出并删除元素(rpop key) 

127.0.0.1:6379> lrange list 0 -1
1) "new"
2) "a"
3) "b"
4) "c"
127.0.0.1:6379> rpop list
"c"
127.0.0.1:6379> lrange list 0 -1
1) "new"
2) "a"
3) "b"
 

 127.0.0.1:6379> lrange list 0 -1
1) "k"
2) "t"
3) "l"
4) "k"
5) "h"
6) "thr"
7) "two"
8) "one"
9) "t"
127.0.0.1:6379> lrem list 1 t
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "k"
2) "l"
3) "k"
4) "h"
5) "thr"
6) "two"
7) "one"
8) "t"


127.0.0.1:6379> lrem list 0 k
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "l"
2) "h"
3) "thr"
4) "two"
5) "one"
6) "t"


127.0.0.1:6379> lrem list -1 one
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "l"
2) "h"
3) "thr"
4) "two"
5) "t"

列表通过索引删除列表元素(ltrim key start end)

127.0.0.1:6379> ltrim list 1 4
OK
127.0.0.1:6379> lrange list 0 -1
1) "h"
2) "thr"
3) "two"
4) "t"
127.0.0.1:6379> ltrim list 2 4
OK
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "t"

修改列表指定索引的元素(lset key index value)
127.0.0.1:6379> lset list 1 new
OK
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "new"

列表阻塞操作 

blpop key [key ...] timeout

brpop key [key ...] timeout

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科技发烧爱好者-羊工

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值