Redis 链表结构 和 常用命令

Redis 数据结构 --链表(linked-list)
命令说明备注
lpush key node1 [node2 ...]把节点 node1 加入到 链表最左边如果是 node1、node2 ....noden 这样加入,那么链表开头从左到右的顺序是 noden ... node2、node1
rpush key nodel [dode2 ...]把节点 node1 加入到 链表最右边如果是 nodel、node2 .... noden 这样加入,那么链表结尾从左到右的顺序是 node1、node2...noden
lindex key index读取下标为 index 的节点返回节点字符串,从0开始算
llen key求链表的长度返回链表节点数
lpop key删除左边第一个节点,并将其返回--
linsert key [befor after] piovt插入一个节点 node ,并且可以指定在值为pivot的节点的前面(before)或者 后面 (after)如果 list 不存在,则报错,如果没有值为对应pivot的,也会插入失败返回 -1
lpushx list node如果存在key为list的链表,则插入节点node,并且作为从左到右的 第一个节点如果list 不存在 则失败
rpushx list node如果存在key为 list 的链表,则插入节点node,并且作为从左到右的 最后一个节点如果 list 不存在 则失败
lrange list start end获取链表 list 从 start下标 到 end下标的节点值包含 start 和 end 下标的值
lrem list count value如果 count 为 0,则删除所有值等于value的节点,如果count 不是 0,则先对count取绝对值,假设记为abs,然后从左到右删除不大于 abs 个 等于 value的节点注意,count 为整数,如果是负数,则Redis会先求取其绝对值,然后传递到后台操作
lset key index node设置列表下标为index的节点的值为node--
ltrim key start stop修剪链表,只保留从start 到 stop 的区间的节点,其余的都删除掉包含 start 和 end 的下标的节点会保留
C:\Users\oukele>redis-cli
127.0.0.1:6379> lpush role oukele dakele xiaokele
(integer) 3
127.0.0.1:6379> lindex role 0
"xiaokele"
127.0.0.1:6379> rpush role oukele1
(integer) 4
127.0.0.1:6379> lindex role 0
"xiaokele"
127.0.0.1:6379> llen role
(integer) 4
127.0.0.1:6379> lpop role
"xiaokele"
127.0.0.1:6379> rpop role
"oukele1"
127.0.0.1:6379> llen role
(integer) 2
127.0.0.1:6379> linsert role before dakele dadakele
(integer) 3
127.0.0.1:6379> linsert role after dakele dadadakele
(integer) 4
127.0.0.1:6379> lrange role 0 10
1) "dadakele"
2) "dakele"
3) "dadadakele"
4) "oukele"
127.0.0.1:6379> lpush role lala wuwu oooo
(integer) 7
127.0.0.1:6379> lrange role 0 10
1) "oooo"
2) "wuwu"
3) "lala"
4) "dadakele"
5) "dakele"
6) "dadadakele"
7) "oukele"
127.0.0.1:6379> lrem role 3 dakele
(integer) 1
127.0.0.1:6379> lrange role 0 10
1) "oooo"
2) "wuwu"
3) "lala"
4) "dadakele"
5) "dadadakele"
6) "oukele"
127.0.0.1:6379> ltrim role 3  6
OK
127.0.0.1:6379> lrange role 0 10
1) "dadakele"
2) "dadadakele"
3) "oukele"
127.0.0.1:6379>

转载于:https://www.cnblogs.com/oukele/p/10175002.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值