Redis数据类型简单操作---列表

List--列表

插入列表

  • 头插法

        语法:LPUSH key value1 value2...  

127.0.0.1:6379> lpush numbers 1 2 3
(integer) 3  # 显示插入数据的num

  • 尾插法

        语法:RPUSH key value1 value2...  

127.0.0.1:6379> rpush numbers 8 9 0
(integer) 3 

查询列表

        语法:LRANGE key start end  # 返回指定区间内的内容  

127.0.0.1:6379> lpush numbers 1 2 3
(integer) 3
127.0.0.1:6379> lrange numbers 0 -1
1) "3"
2) "2"
3) "1"

更新列表

        语法:LSET key index value  

127.0.0.1:6379> lpush num 1 2 3 4 5 6
(integer) 6
127.0.0.1:6379> lset num 2 9  # redis下标从0开始
OK
127.0.0.1:6379> lrange num 0 -1
1) "6"
2) "5"
3) "9"   *
4) "3"
5) "2"
6) "1"

删除列表

  • 头删法

        语法:LPOP key  

127.0.0.1:6379> lpop num
"6"  # 删除的value
127.0.0.1:6379> lrange num 0 -1
1) "5"
2) "9"
3) "3"
4) "2"
5) "1"

  • 尾删法

        语法:RPOP key  

127.0.0.1:6379> rpop num
"1"
127.0.0.1:6379> lrange num 0 -1
1) "5"
2) "9"
3) "3"
4) "2"

  • 列表为空时 阻塞的删除

        语法:BLPOP key time  |  BRPOP key time  

  #  移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

127.0.0.1:6379> blpop mylist 10 
(nil)
(10.08s)

  #  移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
127.0.0.1:6379> brpop mylist 10
(nil)
(10.05s)

  • 删除指定的值

        语法:LERM key count value  # 返回的是删除的个数  

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

127.0.0.1:6379> rpush numlist 1 2 3 4 5 6 7 8 
(integer) 8
127.0.0.1:6379> lrange numlist 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
8) "8"
127.0.0.1:6379> lrem numlist 0 2  # 删除所有值为2的元素
(integer) 1
127.0.0.1:6379> lrem numlist -2 1  # 从表尾开始删除2个值为1的元素
(integer) 1
127.0.0.1:6379> lrem numlist 1 4  # 从表头开始删除2个值为4的元素
(integer) 1

lrange numlist 0 -1
1) "3"
2) "6"
3) "7"

4) "8"

  • 截取数据

        语法:LTRIM key start end  

127.0.0.1:6379> ltrim numlist 2 5  # 保留下标为2和5之间的所有元素,删除其余元素
OK
127.0.0.1:6379> lrange numlist 0 -1
1) "6"
2) "7"
3) "8"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值