tencent cloud

腾讯云分布式缓存数据库(兼容 Redis)

list 族

Download
聚焦模式
字号
最后更新时间: 2026-08-11 11:11:58

命令介绍

List 族命令用于操作双向链表(quicklist)数据结构,适用于消息队列、任务调度、时间线等先进先出或后进先出场景。其核心命令按功能可分为以下四类:
元素插入与弹出
LPUSH / RPUSH:从左端或右端插入一个或多个元素。
LPOP / RPOP:弹出列表端部元素。
LINSERT:在指定元素前后插入新元素。
RPOPLPUSH:原子性地从一个列表尾部弹出并推入另一个列表头部。
元素查询与修改
LINDEX:按下标读取指定位置的元素。
LRANGE:按范围返回元素列表。
LSET:按下标修改指定位置的元素值。
LLEN:返回列表长度。
LREM:删除指定数量的匹配元素。
LTRIM:保留指定范围并裁剪其余元素。
阻塞式操作(消息队列场景)
BLPOP / BRPOP:阻塞式弹出,在列表为空时等待指定超时时间,适用于消息队列消费。
BRPOPLPUSH:阻塞式弹出并推入另一个列表。
高版本增强命令(Redis 6.2+ / Valkey 8.0+)
LMOVE / BLMOVE:更灵活的元素在列表间移动(支持指定源/目标方向)。
LPOS:查找元素在列表中的位置索引。
LMPOP / BLMPOP(Redis 7.0+):从多个键中批量弹出元素,进一步增强 List 作为轻量级任务队列的能力。
更多信息请参见 Valkey 官方文档:List 命令组

命令支持概览

基础命令lindexlinsertllenlpoplpushlpushxlrangelremlsetltrimrpoprpoplpushrpushrpushxblpopbrpopbrpoplpush,Redis 2.8 标准架构及 4.0、5.0、6.2、7.0 版本、Valkey 8.0、9.0 的标准架构与集群架构均支持。
6.2+ 新增命令blmovelmovelpos,仅 Redis 6.2、7.0 版本及 Valkey 8.0、9.0 版本支持。
7.0+ 新增命令lmpopblmpop,仅 Redis 7.0 版本及 Valkey 8.0、9.0 版本支持。
跨 Slot 限制:集群架构下,rpoplpushblpopbrpopbrpoplpush 不支持跨 Slot 操作。

命令兼容性矩阵

List 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 Slot 访问场景)。
说明:
blpop、brpop、brpoplpush、blmove、blmpop 是带 b 前缀的命令。与去 b 前缀的普通命令(如 lpop、lmove)的区别在于:当 List 为空时,普通命令立即返回 nil,而带 b 命令会等待新元素入队,直到超时才返回。在 multi exec 事务中,带 b 命令不等待,行为等同于去 b 前缀的普通命令。详见 BLPOP 官方文档
命令
Valkey 9.0标准架构
Valkey 9.0集群架构
Redis 7.0/Valkey 8.0标准架构
Redis 7.0/Valkey 8.0集群架构
Redis 6.2标准架构
Redis 6.2集群架构
Redis 5.0标准架构
Redis 5.0集群架构
Redis 4.0标准架构
Redis 4.0集群架构
Redis 2.8标准架构
集群架构跨 Slot 支持
lindex
linsert
llen
lpop
lpush
lpushx
lrange
lrem
lset
ltrim
rpop
rpoplpush
rpush
rpushx
blpop
brpop
brpoplpush
blmove
lpos
lmove
lmpop
blmpop

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈