一、命令介绍
·基础读写与条件设置
·SET / GET:设置和获取字符串值。
·MSET / MGET:批量操作多个键。
·GETSET:设置新值并返回旧值。
·SETNX / SETEX / PSETEX:提供条件设置与带过期时间的设置,适用于分布式锁和缓存场景。
·字符串操作
·APPEND:在现有值末尾追加内容。
·GETRANGE / SETRANGE:按字节偏移截取或覆盖子串。
·STRLEN:返回值的字节长度。
·原子计数
INCR / DECR / INCRBY / DECRBY / INCRBYFLOAT:对数值型字符串进行原子递增或递减,适用于计数器、速率限制器、库存扣减等场景。
·高版本增强命令(Redis 6.2+ / Valkey 8.0+)
·GETDEL:获取值后立即删除键。
·GETEX:获取值的同时设置或移除过期时间。
·LCS(Redis 7.0+):计算两个字符串值的最长公共子序列。
更多信息请参见 Valkey 产品文档:String 命令组。
二、命令支持概览
·基础命令:append、decr、decrby、get、getrange、getset、incr、incrby、incrbyfloat、mget、mset、msetnx、psetex、setex、set、setnx、setrange、strlen,Redis 2.8 标准架构及 4.0、5.0、6.2、7.0 版本、Valkey 8.0、9.0 的标准架构与集群架构均支持。
·6.2+ 新增命令(2 个):getdel、getex,仅 Redis 6.2、7.0 版本及 Valkey 8.0、9.0 版本支持。
·7.0+ 新增命令(2 个):lcs、stralgo,仅 Redis 7.0 版本及 Valkey 8.0、9.0 版本支持。
·跨 Slot 限制:集群架构下,mget、mset 支持跨 Slot 操作;msetnx 不支持跨 Slot 操作。
三、命令兼容性矩阵
Strings 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 Slot 访问场景)。
注意:说明:
| 命令 | 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 支持 |
| append | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| decr | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| decrby | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| get | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| getrange | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| getset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| incr | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| incrby | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| incrbyfloat | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| mget | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| mset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| msetnx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| psetex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| setex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| set | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| setnx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| setrange | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| strlen | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| stralgo | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | — |
| getdel | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | — |
| getex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | — |
| lcs | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | — |