Redis2.8版本标准架构、Redis4.0、5.0、6.2、7.0标准架构与集群架构均支持 lindex、linsert、llen、lpop、lpush、lpushx、lrange、lrem、lset、ltrim、rpop、rpoplpush、rpush、rpushx、blpop、brpop、brpoplpush 命令。
Redis2.8版本标准架构、Redis4.0、5.0不支持 blmove、lmove、lpos 命令,6.2、7.0支持。
集群架构跨 Slot 场景,不支持 rpoplpush、blpop、brpop、brpoplpush 命令。
7.0版本新增:lmpop、blmpop。
命令族 | 命令 | 新增说明 |
list 族 | LMPOP numkeys key [key ...] <LEFT | RIGHT> [COUNT count] | 新增命令。 从 list 中弹出 COUNT 个元素,弹出方向由 LEFT | RIGHT 控制。 多 Key 命令。 |
| BLMPOP timeout numkeys key [key ...] <LEFT | RIGHT> [COUNT count] | 新增命令。 lmpop 的阻塞版本,timeout 设置阻塞的时间。 如果 blmpop 用在 multi exec 中,行为等同于 lmpop,此规格由 redis 定义,proxy 不做特殊处理 |
具体信息,请参见下表。✓ 表示支持,x 表示不支持,- 表示该命令不存在跨 Slot 访问的场景。
命令 | 2.8 内存版(标准架构) | 4.0 内存版(标准架构) | 4.0 内存版(集群架构) | 5.0 内存版(标准架构) | 5.0 内存版(集群架构) | 6.2 内存版(标准架构) | 6.2内存版(集群架构) | 7.0 内存版(标准架构) | 7.0 内存版(集群架构) | 内存版(集群架构)跨 Slot 支持 |
lindex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
linsert | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
llen | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
lpop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
lpush | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
lpushx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
lrange | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
lrem | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
lset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
ltrim | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
rpop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
rpoplpush | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | x |
rpush | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
rpushx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
blpop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | x |
brpop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | x |
brpoplpush | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | x |
blmove | x | x | x | x | x | ✓ | ✓ | ✓ | ✓ | - |
lpos | x | x | x | x | x | ✓ | ✓ | ✓ | ✓ | - |
lmove | x | x | x | x | x | ✓ | ✓ | ✓ | ✓ | - |
lmpop | x | x | x | x | x | x | x | ✓ | ✓ | - |
blmpop | x | x | x | x | x | x | x | ✓ | ✓ | - |