社区版命令支持概览

最近更新时间:2024-11-01 15:40:33

我的收藏

不同版本兼容性

当前各版本与架构对社区版命令的支持情况,请参见下列各命令族,各命令族表格中 ✓ 表示支持,x 表示不支持,- 表示该命令不存在跨 Slot 访问的场景。
说明:
命令详细的参数解释及使用示例,请参见 Redis 命令参考

7.0 版本命令

开源 Redis 7.0 版本新增了一些命令与参数,腾讯云数据库 Redis® 当前支持情况如下表所示。
命令族
命令
新增说明
sorted sets
ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]
新增命令。
原子性地弹出多个有序集合(sorted set)中的最小或最大的成员。
COUNT count:一次弹出多少个成员。默认为 1。
MIN 或 MAX:指定弹出集合中的最小或最大成员。
支持多 key 操作。
BZMPOP timeout numkeys key [key ...] <MIN | MAX> [COUNT count]
新增命令。
原子性地从一个或多个有序集合(sorted sets)中弹出一个或多个具有最大或最小分数的成员,并且它支持阻塞操作。timeout 是命令等待的超时时间(以毫秒为单位)。
支持多 key 操作。
ZINTERCARD numkeys key [key ...] [LIMIT limit]
新增命令。
用于 zset 数据类型。计算两个或多个有序集合(sorted sets)之间的交集,返回交集中元素的数量。
numkeys:是有序集合数量。
key:是有序集合的键名。
AGGREGATE:指定聚合方法。
Limit:返回数量。
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 不做特殊处理
sets族
SINTERCARD numkeys key [key ...] [LIMIT limit]
新增命令。
用于 set 数据类型。返回指定 key 的交集的个数,最多 LIMIT 个。
keys 族
EXPIRETIME key
新增命令。
返回 key 过期时间的秒级时间戳。
PEXPIRETIME key
新增命令。
返回 key 过期时间的毫秒级时间戳。
EXPIRE key seconds [NX | XX | GT | LT]

新增 NX | XX | GT | LT参数。
NX 只当 key 不存过期时间的时候,设置过期时间。
XX 只当 key 存在过期时间的时候,设置过期时间。
GT 只当新的过期时间比当前过期时间更大的时候,设置新的过期时间。
LT 只当新的过期时间比当前过期时间更小的时候,设置新的过期时间。
SORT_RO key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA]
新增命令。
对 Redis 中的有序集合(sorted set)进行排序并获取排序后的结果。
string 族
SET key value [NX | XX] [GET] [EX seconds | PX milliseconds | EXAT unix-time-seconds | PXAT unix-time-milliseconds | KEEPTTL]
新增 NX 和 GET 参数。
NX:表示 Not exists,只有当键不存在时,才会设置键值对。
GET: 设置新值,返回旧值。
BITPOS key bit [start [end [BYTE | BIT]]]
新增 BYTE 和 BIT 参数。指定偏移量的单位。BYTE:表示字节偏移,BIT:表示位偏移。默认为 BYTE。
LCS key1 key2 [LEN] [IDX] [MINMATCHLEN min-match-len] [WITHMATCHLEN]
新增命令。
返回两个 key 的最长公共子序列。
scripting 族
EVAL_RO script numkeys [key [key ...]] [arg [arg ...]]
新增命令,可在只读副本中运行lua script。
EVALSHA_RO sha1 numkeys [key [key ...]] [arg [arg ...]]
新增命令,可在只读副本中运行lua script。
Fuction (Redis 7.0 新增)
FUNCTION DELETE library-name
新增 Fuction 功能。
删除一个 lib 和其中的函数。
FUNCTION DUMP
导出所有函数。
23.FUNCTION FLUSH [ASYNC | SYNC]

删除所有的 lib 和其中的函数。
FUNCTION KILL

Kill 当前正在执行中的函数。
FUNCTION LIST [LIBRARYNAME library-name-pattern] [WITHCODE]
返回 lib 和函数的信息。
FUNCTION LOAD [REPLACE] function-code
加载/替换函数。
FUNCTION RESTORE serialized-value [FLUSH | APPEND | REPLACE]

用于恢复之前使用 SAVE 或 BGSAVE 命令保存的快照。
FLUSH:恢复快照之前,当前数据库中的所有数据都会被清空
APPEND:恢复快照之前,当前数据库中的数据将被追加到快照中。
REPLACE:恢复快照之前,当前数据库中的数据将被快照中的数据完全替换。
FUNCTION STATS
返回当前正在执行的函数的状态。
FCALL function numkeys [key [key ...]] [arg [arg ...]]
调用某个 Fuction。
FCALL_RO function numkeys [key [key ...]] [arg [arg ...]]
FCALL 的 Readonly 版本。
stream
XADD key [NOMKSTREAM] [<MAXLEN | MINID> [= | ~] threshold [LIMIT count]] <* | id> field value [field value ...]
新增参数,支持在指定毫秒下,生成消息 ID。
server 族
CONFIG SET/GET
新增参数,原子性的处理多个配置的 set、get。
Quit
标记为 deprecated,客户端可以直接关闭 TCP 连接。
SHUTDOWN [NOSAVE | SAVE] [NOW] [FORCE] [ABORT]
新增 NOW | FORCE | ABORT。
NOW:立即关闭,不等待任何正在进行的命令完成。
FORCE:强制关闭 Redis 服务器,即使有命令正在执行。
ABORT:终止正在执行的命令,而不执行任何其他命令。
COMMAND GETKEYSANDFLAGS command [arg [arg ...]]
新增命令,获取命令的 key 和 flag。
COMMAND DOCS [command-name [command-name ...]]
新增命令。返回命令的文档信息,包含历史更改等记录。
COMMAND LIST [FILTERBY <MODULE module-name | ACLCAT category | PATTERN pattern>]
新增命令。返回 Redis 命令列表。
COMMAND INFO
更新命令。返回 Redis 命令的信息。
INFO [section [section ...]]
新增参数。支持同时获取多个章节。
XGROUP CREATE key group <id | $> [MKSTREAM] [ENTRIESREAD entries-read]
新增 ENTRIESREAD ,用于设置和开启 entries-read 和 lag 功能。
XGROUP SETID key group <id | $> [ENTRIESREAD entries-read]
新增 ENTRIESREAD ,用于设置和开启 entries-read 和 lag 功能。

6.2 版本命令

针对最新开源 Redis 6.2 版本中新增的一些命令参数,腾讯云数据库 Redis® 当前的支持情况如下表所示。
说明:
Redis 使用 RESP(Redis Serialization Protocol)协议与客户端进行通信,而 HELLO 命令用于协商服务端与客户端使用 RESP 协议的具体版本,确保通信的效率和兼容性。当前,Hello 命令仅支持 RESP2 协议。
命令族
命令
社区版新增命令与参数
是否支持
server 族
MONITOR
在 Redis 6.2 版本中,AUTH 命令不会被输出到 MONITOR 命令的输出中。
keys 族
DEL
开启lazyfree-lazy-user-del,即懒惰删除(lazy eviction)机制。
SCAN
新增 TYPE 参数,可指定返回键的类型。
connection 族
CLIENT LIST
新增 laddr field 和 ID filter 参数。
laddr field:指的是客户端的本地地址和端口号。
ID filter:是一个可选的过滤器,可以使用它来指定要返回哪个客户端的详细信息。
CLIENT KILL
CLIENT KILL 新增 local address ,指定要关闭的客户端的本地地址和端口号。
AUTH
AUTH 新增 username 参数,支持用户名和密码进行身份验证。
list 族
LPOP
LPOP key [count] ,count 为新增参数,指定要弹出的元素个数。
RPOP
RPOP key [count] ,count 为新增参数,指定要弹出的元素个数。
stream 族
XPENDING
新增参数 IDLE,指定消费者空闲时间的阈值。
XADD
新增了三个选项:NOMKSTREAM、MINID 和 LIMIT。
NOMKSTREAM:用于禁止自动创建 Stream。
MINID:用于指定 Stream 中最小的消息 ID。
LIMIT:用于每个 Stream 中的消息数量。