• 沒有找到結果。

集群实例支持多个key,但不支持跨slot访问的Redis命令,如表5-36。

Redis 4.0 proxy集群及主备读写分离实例受限使用的命令如表5-37和表5-38。

Redis 5.0 proxy集群及主备读写分离实例受限使用的命令如表5-39和表5-40。

5-36 Cluster 集群实例受限使用的 Redis 命令

命令类型 命令描述

Set(集合)

SINTER 返回一个集合的全部成员,该集合是所有给定集合的交集 SINTERSTORE 类似SINTER,但结果保存到destination集合

SUNION 返回一个集合的全部成员,该集合是所有给定集合的并集 SUNIONSTORE 和SUNION类似,但它将结果保存到destination集合 SDIFF 返回一个集合的全部成员,该集合是所有给定集合之间的差

SDIFFSTORE 和SDIFF类似,但它将结果保存到destination集合 SMOVE 将member元素从source集合移动到destination集合

产品介绍 5 开源命令兼容性

命令类型 命令描述 SortedSet(有序集合)

ZUNIONSTORE 计算给定的一个或多个有序集的并集 ZINTERSTORE 计算给定的一个或多个有序集的交集 HyperLogLog

PFCOUNT 返回储存在给定键(或多个键)的HyperLogLog的近似基数 PFMERGE 将多个HyperLogLog合并(merge)为一个HyperLogLog Keys

RENAME 将key改名

RENAMENX 将key改名,新key必须是之前不存在的

BITOP 对一个或多个保存二进制位的字符串key进行位元操作,并 将结果保存到destkey上

RPOPLPUSH 返回并移除存储在source的列表的最后一个元素(列表尾部 元素), 并把该元素放入存储在destination的列表的第一 个元素位置(列表头部)

String(字符串)

MSETNX 同时设置一个或多个key-value对

说明

当用户执行比较耗时的命令(如flushall)时,可能会导致缓存实例在命令执行期间对外不响应 用户的其它命令,造成状态监控失效,此时Console上缓存实例的状态会变成异常,命令执行结 束后,实例状态会恢复正常。

5-37 Redis 4.0 proxy 集群实例受限使用的 Redis 命令

命令类型 命令 受限使用条件

Set(集

合) SMOVE proxy集群要求源key和目标key在同

一个slot GEO(地

理位置) GEORADIUS ● Proxy集群实例要求传入的key都在 同一个slot中。

● Proxy集群的多DB模式下暂不支持 带STORE参数。

GEORADIUSBYMEMBER GEOSEARCHSTORE Connectio

n(连接) CLIENT KILL ● 仅支持两种形式:

– CLIENT KILL ip:port – CLIENT KILL ADDR ip:port

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

产品介绍 5 开源命令兼容性

命令类型 命令 受限使用条件

CLIENT LIST ● 仅支持两种形式:

– CLIENT LIST

– CLIENT LIST [TYPE normal|

master|replica|pubsub]

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

SELECT index Proxy集群的多DB支持当前通过改key 实现,不推荐使用该方案。

Proxy集群支持多DB限制

1. 后端存储会按照一定规则对key进 行改写,导出RDB数据中的key不 是原始的key,但通过Redis协议访 问无影响。

2. flushdb命令采用逐个key删除的方 式执行,耗时久。

3. swapdb不支持。

4. info keyspace不支持多DB展示。

5. dbsize命令非常耗时,禁止在代码 中使用。

6. 多DB场景下keys命令和scan命令 性能会有损失(最多50%)。

7. LUA脚本中不支持多DB。

8. RANDOMKEY命令不支持。

9. 默认不开启多DB,开启和关闭多 DB特性之前需要先清空数据。

HyperLogL

og PFCOUNT Proxy集群实例要求传入的key都在同

一个slot中。

PFMERGE Keys

(键) RENAME Proxy集群实例要求传入的key都在同

一个slot中。

RENAMENX

SCAN Proxy集群实例不支持在pipeline中使 用SCAN命令。

Lists(列

表) BLPOP Proxy集群实例要求传入的key都在同

一个slot中。

BRPOP BRPOPLPUSH Pub/Sub

(发布/订 阅)

PSUBSCRIBE Proxy集群事件订阅,不支持键空间 事件订阅,键空间事件订阅虽不会失 败,但功能本身不支持。

产品介绍 5 开源命令兼容性

命令类型 命令 受限使用条件 Scripting

(脚本) EVAL ● Proxy集群实例要求传入的key都在

同一个slot中。

● Proxy集群开启多DB时,KEYS参数 会被修改,Lua脚本中使用到KEYS 的地方需要注意。

EVALSHA

Server(服 务器)

MEMORY DOCTOR proxy集群要在命令后面加上节点的 ip:port。

MEMORY HELP

MEMORY MALLOC-STATS MEMORY PURGE

MEMORY STATS MEMORY USAGE MONITOR Strings

(字符 串)

BITOP Proxy集群实例要求传入的key都在同 一个slot中。

MSETNX Transactio

ns(事 务)

WATCH Proxy集群实例要求传入的key都在同 一个slot中。

5-38 Redis 4.0 读写分离实例受限使用的 Redis 命令

命令类型 命令 受限使用条件

Connectio

n(连接) CLIENT KILL ● 仅支持两种形式:

– CLIENT KILL ip:port – CLIENT KILL ADDR ip:port

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

CLIENT LIST ● 仅支持两种形式:

– CLIENT LIST

– CLIENT LIST [TYPE normal|

master|replica|pubsub]

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

产品介绍 5 开源命令兼容性

5-39 Redis 5.0 proxy 集群实例受限使用的 Redis 命令

命令类型 命令 受限使用条件

Set(集

合) SMOVE proxy集群要求源key和目标key在同

一个slot Sorted Set

(有序集 合)

BZPOPMAX Proxy集群实例要求传入的key都在同 一个slot中

BZPOPMIN GEO(地

理位置) GEORADIUS ● Proxy集群实例要求传入的key都在 同一个slot中。

● Proxy集群的多DB模式下暂不支持 带STORE参数。

GEORADIUSBYMEMBER GEOSEARCHSTORE Connectio

n(连接) CLIENT KILL ● 仅支持两种形式:

– CLIENT KILL ip:port – CLIENT KILL ADDR ip:port

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

CLIENT LIST ● 仅支持两种形式:

– CLIENT LIST

– CLIENT LIST [TYPE normal|

master|replica|pubsub]

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

SELECT index Proxy集群的多DB支持当前通过改key 实现,不推荐使用该方案。

Proxy集群支持多DB限制

1. 后端存储会按照一定规则对key进 行改写,导出RDB数据中的key不 是原始的key,但通过Redis协议访 问无影响。

2. flushdb命令采用逐个key删除的方 式执行,耗时久。

3. swapdb不支持。

4. info keyspace不支持多DB展示。

5. dbsize命令非常耗时,禁止在代码 中使用。

6. 多DB场景下keys命令和scan命令 性能会有损失(最多50%)。

7. LUA脚本中不支持多DB。

8. RANDOMKEY命令不支持。

9. 默认不开启多DB,开启和关闭多 DB特性之前需要先清空数据。

产品介绍 5 开源命令兼容性

命令类型 命令 受限使用条件 HyperLogL

og PFCOUNT Proxy集群实例要求传入的key都在同

一个slot中。

PFMERGE Keys

(键) RENAME Proxy集群实例要求传入的key都在同

一个slot中。

RENAMENX

SCAN Proxy集群实例不支持在pipeline中使 用SCAN命令。

Lists(列

表) BLPOP Proxy集群实例要求传入的key都在同

一个slot中。

BRPOP BRPOPLPUSH Pub/Sub

(发布/订 阅)

PSUBSCRIBE Proxy集群事件订阅,不支持键空间 事件订阅,键空间事件订阅虽不会失 败,但功能本身不支持。

Scripting

(脚本) EVAL ● Proxy集群实例要求传入的key都在

同一个slot中。

● Proxy集群开启多DB时,KEYS参数 会被修改,Lua脚本中使用到KEYS 的地方需要注意。

EVALSHA

Server(服

务器) MEMORY DOCTOR proxy集群要在命令后面加上节点的 ip:port。

MEMORY HELP

MEMORY MALLOC-STATS MEMORY PURGE

MEMORY STATS MEMORY USAGE MONITOR Strings

(字符 串)

BITOP Proxy集群实例要求传入的key都在同 一个slot中。

MSETNX Transactio

ns(事 务)

WATCH Proxy集群实例要求传入的key都在同 一个slot中。

Streams

(流) XACK Proxy集群开启多DB时不支持。

XADD XCLAIM XDEL

产品介绍 5 开源命令兼容性

命令类型 命令 受限使用条件 XGROUP

XINFO XLEN XPENDING XRANGE XTRIM XREVRANGE

XREAD ● Proxy集群开启多DB时不支持。

● Proxy集群要求多个key在同一个 slot。

● 不支持BLOCK选项。

XREADGROUP GROUP

5-40 Redis 5.0 读写分离实例受限使用的 Redis 命令

命令类型 命令 受限使用条件

Connectio

n(连接) CLIENT KILL ● 仅支持两种形式:

– CLIENT KILL ip:port – CLIENT KILL ADDR ip:port

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2

CLIENT LIST ● 仅支持两种形式:

– CLIENT LIST

– CLIENT LIST [TYPE normal|

master|replica|pubsub]

● id字段为随机值,不满足idc1<idc2

→Tc1<Tc2 Streams

(流) XREAD ● Proxy集群开启多DB时不支持。

● Proxy集群要求多个key在同一个 slot。

● 不支持BLOCK选项。

XREADGROUP GROUP

相關文件