list 链表结构

本文详细介绍了Redis中链表的一系列操作命令,如lpush、rpop等,说明了各命令的作用、使用方法及注意事项。还提及了部分命令的应用场景,如rpoplpush用于实现安全队列,brpop、blpop可用于长轮询Ajax和在线聊天。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lpush key value

作用: 把值插入到链接头部

rpop key

作用: 返回并删除链表尾元素

rpush,lpop: 不解释

lrange key start stop(从0开始)

lrange key 6 6 查看索引为6的数据
lrange key 2 5 查看索引从2(包括2)到5(包括5)的数据
作用: 返回链表中[start ,stop]中的元素
规律: 左数从0开始,右数从-1开始(0 -1 选取所有元素)

lrem key count value

作用: 从key链表中删除 value值
注: 删除count的绝对值个value后结束
Count>0 从表头删除
Count<0 从表尾删除
list 链表结构

ltrim key start stop

作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key

list 链表结构

lindex key index

作用: 返回index索引上的值,
如 lindex key 2

llen key

作用:计算链接表的元素个数
redis 127.0.0.1:6379> llen task
(integer) 3
redis 127.0.0.1:6379>

l×××ert key after|before search value

作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value
注: 一旦找到一个search后,命令就结束了,因此不会插入多个value

list 链表结构

有多个被查询的值的插入:

list 链表结构

rpoplpush source dest

作用: 把source的尾部拿出,放在dest的头部,
并返回 该单元值

list 链表结构

场景: task + bak 双链表完成安全队列
list 链表结构

业务逻辑:
1:Rpoplpush task bak
2:接收返回值,并做业务处理
3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务

brpop ,blpop key timeout

作用:等待弹出key的尾/头元素,
Timeout为等待超时时间
如果timeout为0,则一直等待

list 链表结构
场景: 长轮询Ajax,在线聊天时,能够用到

转载于:https://blog.51cto.com/5660061/2364598

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值