帮你快速理解、总结文档立即下载

strings 族

最近更新时间:2026-08-06 18:51:32
我的收藏

命令介绍

Strings 族命令用于字符串值与整型/浮点型数值的基础读写操作,是最基本也是使用频率最高的数据类型命令。其核心命令按功能可分为以下四类:
基础读写与条件设置
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 访问场景)。
说明:
Redis 7.0及 Valkey 8.0、9.0中,set 命令新增 NX 和 GET 参数。
lcs 命令用于返回两个 Key 值的最长公共子序列。
命令
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
✓
✓
✓
✓
✗
✗
✗
✗
✗
✗
✗
—