[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中
- 任务队列

浙公网安备 33010602011771号