腾讯云分布式缓存数据库(兼容 Redis)完全兼容 Redis 协议,支持绝大部分社区版原生命令。本文从全局视角汇总各命令族的支持情况、集群架构下的使用差异,以及 Valkey 版专属模块命令,帮助您快速定位所需命令的兼容性信息。
命令族索引
下表列出了产品支持的所有命令族,您可根据需要跳转到对应的详细文档查看具体命令的版本支持情况。
命令族 | 用途说明 | 版本要求 | 详细文档 |
Strings | 字符串的存取与位操作 | 全版本 | |
Hash | 键值对集合操作 | 全版本 | |
List | 双向链表操作 | 全版本 | |
Sets | 无序集合操作 | 全版本 | |
Sorted Sets | 有序集合操作 | 全版本 | |
Keys | 键的通用管理操作 | 全版本 | |
Bitmap | 位数组操作 | 全版本 | |
HyperLogLog | 基数统计 | 全版本 | |
Geo | 地理位置操作 | Redis 4.0+ | |
Stream | 消息流操作 | Redis 5.0+ | |
Pub/Sub | 发布/订阅消息 | 全版本 | |
Scripting | Lua 脚本执行 | 全版本 | |
Transactions | 事务操作 | 全版本 | |
Server | 服务端管理命令 | 全版本 | |
Connection | 连接管理命令 | 全版本 | |
Cluster | 集群管理命令 | Redis 4.0+(集群架构) |
Valkey 版模块命令
以下命令族为 Valkey 引擎专属扩展模块,仅 Valkey 8.0 及以上版本支持。
模块 | 用途说明 | 版本要求 | 详细文档 |
JSON Module | JSON 文档的存取与路径操作 | Valkey 8.0+ | |
Bloom Filter Module | 布隆过滤器(概率性判重) | Valkey 8.0+ | |
Search Module | 全文搜索与向量检索 | Valkey 9.0+ |
集群架构命令使用说明
集群架构通过 Proxy 代理层对外提供与标准架构一致的使用体验,但由于底层数据按 Slot 分散在多个分片节点上,部分命令的行为与标准架构存在差异。
跨 Slot 命令
集群架构下,数据按照 Key 的 CRC16 值分布到16384个 Slot 中。涉及多个 Key 的命令按跨 Slot 支持情况分为两类:
类型 | 说明 | 典型命令 |
支持跨 Slot | Proxy 层自动拆分请求并汇总结果,业务无感知 | MGET、MSET、DEL |
不支持跨 Slot | 操作的多个 Key 必须位于同一 Slot,否则返回错误。可使用 Hash Tag 规避 | RENAME、MSETNX、SDIFF、SUNION、SINTER、ZINTERSTORE 等 |
说明:
对于不支持跨 Slot 的命令,可使用 Hash Tag(将 Key 中的
{tag} 部分相同的 Key 路由到同一 Slot)来规避限制。例如 {user}.name 和 {user}.age 将落入同一 Slot。自定义命令
集群架构中,INFO、SLOWLOG、SCAN、KEYS、PING、FLUSHDB 等命令默认在 Proxy 层执行或随机路由到某个分片。若需要指定某个分片节点执行,可在命令末尾追加节点 ID 参数:
COMMAND arg1 arg2 ... [节点ID]
说明:
有限支持命令
集群架构通过 Proxy 代理层对外提供服务,隐藏了后端分片的真实网络拓扑。为兼容 Jedis Cluster、Lettuce Cluster 等智能客户端,以下 Cluster 命令可正常执行,但返回的节点 IP 地址统一替换为实例的 Proxy VIP 地址(即实例的内网 IPv4 接入地址)。具体信息,请参见 Redis/Valkey 版有限支持命令使用示例。
命令 | 差异说明 |
CLUSTER NODES | 返回的节点 IP 地址为实例 Proxy VIP,而非后端分片真实 IP |
CLUSTER SLOTS | 返回的节点 IP 地址为实例 Proxy VIP,而非后端分片真实 IP |
CLUSTER SHARDS | (7.0+/Valkey 8.0+)返回的节点 IP 地址为实例 Proxy VIP,而非后端分片真实 IP |
事务支持
集群架构支持事务(MULTI/EXEC),但需满足以下条件:
事务中涉及的所有 Key 必须位于同一 Slot,建议使用 Hash Tag(如
{user}.name 和 {user}.age)将相关 Key 路由到同一 Slot。若使用 WATCH 命令实现乐观锁,被监控的 Key 与事务中操作的 Key 同样需要在同一 Slot。
多 DB 支持
集群架构支持多 DB(通过
SELECT 命令切换),共提供256个 DB(DB 0 ~ DB 255)。不支持的命令
出于安全性、架构兼容性或功能限制的原因,以下命令在产品中不支持执行,调用时将返回错误:
系统管理类:BGREWRITEAOF、BGSAVE、CONFIG、DEBUG、CLUSTER 写操作(ADDSLOTS / FAILOVER / RESET 等)
危险操作类:FLUSHALL(标准架构可用)、SHUTDOWN、SLAVEOF / REPLICAOF
协议层:HELLO(RESP3 协议)
权限控制:ACL 系列命令
模块管理:MODULE LOAD / UNLOAD
版本差异与注意事项
相关文档
文档 | 说明 |
各命令族在不同版本和架构下的逐条支持情况 | |
Redis 5.0 → 6.2 → 7.0 / Valkey 8.0+ 版本间的命令行为变更 | |
CLUSTER NODES / CLUSTER SLOTS 等有限支持命令的使用方法 | |
INFO、SLOWLOG、SCAN 等命令在集群架构下的自定义用法 | |
DMC 数据库管理工具中可执行的命令 | |
Proxy 模式与直连模式在命令支持上的差异 |