redis使用-list类型

list类型
在这里插入图片描述

value类型是list时,key中有两个指针 head tail,便于快速访问链表中第一个元素和最后一个元素
在这里插入图片描述

list可以描述栈:同向命令 先进后出
也可以描述队列:反向命令 先进先出
lpush RPUSH LPOP RPOP命令:

127.0.0.1:6379> lpush k1 a b c d e f
(integer) 6
127.0.0.1:6379> RPUSH k2 a b c d e f
(integer) 6
127.0.0.1:6379> LPOP k1
“f”
127.0.0.1:6379> LPOP k1
“e”
127.0.0.1:6379> RPOP k1
“a”

未来程序可以不用jdk的api,接入redis即可。
redis有正负索引

LRANGE命令:

127.0.0.1:6379> LRANGE k1 0 -1 //取出k1中的所有值

  1. “d”
  2. “c”
  3. “b”

LINDEX命令

127.0.0.1:6379> FLUSHALL
OK
127.0.0.1:6379> LPUSH k1 a b c d e f
(integer) 6
127.0.0.1:6379> LRANGE k1 0 -1

  1. “f”
  2. “e”
  3. “d”
  4. “c”
  5. “b”
  6. “a”
    127.0.0.1:6379> LINDEX k1 2
    “d”
    127.0.0.1:6379> LINDEX k1 -1
    “a”

LSET 命令:

127.0.0.1:6379> LSET k1 3 xxxx //第三个位置设置为3
OK
127.0.0.1:6379> LRANGE k1 0 -1

  1. “f”
  2. “e”
  3. “d”
  4. “xxxx”
  5. “b”
  6. “a”

LREM命令:移除元素
LREM k3 2 a //移除k3对应的value,移除两个a
2是整数,则从左侧开始移除;若为负数,则从右侧开始移除,
在这里插入图片描述

LINSERT:插入元素,如下为在元素6的后面插入a,若有两个6时,在第一个6后面追加
在这里插入图片描述

如下为在3的前面插入a
在这里插入图片描述

LREM命令中k为-2时,是从后面移除两个a:
在这里插入图片描述
LLEN:统计元素
在这里插入图片描述

BLPOP命令

三个客户端均连接上redis服务器。
第一个客户端:>BLPOP k1 0 //一直阻塞知道k1有值
第二个客户端: >BLPOP k1 0 //一直阻塞知道k1有值
第三个客户端:>BLPOP k1 hello //执行完此命令,发现第一个客户端获取到值 hello
第四个客户端:>BLPOP k1 world //执行完此命令,发现第二个客户端获取到值 world
总结:list可以实现 阻塞 单播队列 先进先出

LTRIM:对两端数据进行删除

LTRIM k1 0 -1 //此命令执行完,未删除任何元素,因为0是第一个元素,-1是最后一个元素。已是最边缘的元素。
LTRIM k1 1 -2 //会删除1之前的元素 -2之后的元素
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值