redis数据结构之列表

使用场景

消息队列。lpush与rpop命令组合可实现阻塞队列,生产者使用lpush从列表左侧放入消息,多个消费者客户端使用brpop命令阻塞式的“抢”列表尾部的元素,多个客户端保证了消费的负载均衡和高可用性;lpush与lpop实现栈,lpush与rpop实现队列,lpush与ltrim实现有限集合,lpush、brpop实现消息队列。

缓存列表。每个用户都有属于自己的文章列表。现在需要分页展示文章列表,这时可以考虑使用列表,因为列表不但是有序的,同时支持按照索引范围获取元素。每篇文章使用哈希结构存储,将文件key保存到用户文章列表。

实现

列表类型的实现有压缩列表ziplist、链表linkedlist。元素数量大于固定值,且有元素的大小超过固定值列表会转化为linkedlist

命令

#从右边插入元素
rpush key value
#从左边插入元素
lpush key value
#向某个元素前或者后插入元素
linsert key before|after
#获取指定范围内的元素列表
lrange key start end
#获取列表指定索引下的元素
lindex key index
#获取列表的长度
llen key
#从列表左侧弹出元素
lpop key
#从列表右侧弹出
rpop key
#删除指定元素
lrem key count value
#按照索引范围修剪列表
ltrim key start end
#修改指定索引下标的元素
lset key index newValue
#阻塞式弹出
blpop key [...] timeout
brpop key [...] timeout
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值