[Redis 基础知识] Redis List 类型常用命令
(1)简介
Redis中的List类型是一个双端链表结构 , 类似于Java 中的 LinkedList。可以在其头部(左边)或尾部(右边)进行添加和删除操作 , 一个列表最多可以包含 2 ^ 32 -1个元素(超40亿)
(2)常用命令
命令 | 含义 |
---|---|
lpush key element [element ...] |
将一个或多个值插入到列表的头部(从左侧添加) |
rpush key element [element ...] |
将一个或多个值插入到列表的尾部(从右侧添加) |
lpushx key element [element ...] |
将一个或多个值插入到已存在的列表的头部 若列表不存在 , 操作无效 |
rpushx key element [element ...] |
将一个或多个值插入到已存在的列表的尾部 若列表不存在 , 操作无效 |
llen key |
获取列表长度 |
lindex key index |
通过索引获取列表中的元素 |
lrange key start stop |
获取列表指定范围内的元素(包括start和stop) , 常用于分页 |
lpop key |
移除并获取第一个元素(从左侧弹出一个元素) |
rpop key |
移除并获取最后一个元素(从右侧弹出一个元素) |
blpop key [key ...] timeout |
移除并获取第一个元素 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 |
brpop key [key ...] timeout |
移除并获取最后一个元素 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 |
ltrim key start stop |
对一个列表进行修剪 只保留指定区间内的元素(包括start和stop) |
lset key index element |
通过索引设置列表元素的值 |
``linsert key BEFORE | AFTER pivot element`` |
rpoplpush source destination |
删除并返回source列表的右侧一个元素 并将其存入destination列表的左侧 |
brpoplpush source destination timeout |
删除并返回source列表的右侧一个元素 并将其存入destination列表的左侧 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 |
lrem key count value |
移除列表元素 |
(3)列表的索引
列表的索引分为 正向索引 和 反向索引
正向索引从 0 开始 , 0 表示第一个元素 , 1 表示第二个元素 , 以此类推
反向索引从 -1 开始 , -1 表示最后一个索引 , -2 表示倒数第二个索引 , 以此类推
(4)应用场景
- 对数据量大的集合数据删减
列表数据显示、关注列表、粉丝列表、留言评价、分页、新闻(Top5)等
利用lrange实现分页功能 , 例如在博客系统中, 每篇博文的评论可以存入一个单独的list中
- 任务队列
合集:
Redis 学习笔记
标签:
Redis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!