启用OSS集群API
查看Redis OSS Cluster API以确定是否应为您的数据库启用此功能。
先决条件
Redis OSS 集群 API 仅在数据库满足特定条件时受支持。
数据库必须:
- 使用标准的hashing policy。
- 将代理策略设置为所有主分片或所有节点。
此外,数据库必须不:
- 在代理策略中使用节点
include
或exclude
。 - 使用 RediSearch、RedisTimeSeries 或 RedisGears 模块。
OSS集群API设置适用于单个数据库,而不是整个集群。
启用OSS集群API支持
您可以使用集群管理器UI或rladmin
实用程序为数据库启用OSS集群API支持。
当您为现有数据库启用OSS集群API支持时,此更改将应用于新连接,但不会影响现有连接。客户端必须关闭现有连接并重新连接以应用此更改。
集群管理器用户界面
当您使用集群管理器UI启用OSS集群API时,它会自动配置先决条件。
要在集群管理器用户界面中为现有数据库启用OSS集群API:
您也可以在创建新数据库时使用集群管理器UI来启用该设置。
命令行 (rladmin
)
您可以使用rladmin
工具为Redis Enterprise Software数据库(包括Replica Of数据库)启用OSS集群API。
对于Active-Active(CRDB)数据库,使用crdb-cli工具。
确保先决条件已配置。然后,从命令行启用Redis数据库的OSS集群API:
$ rladmin tune db <database name or ID> oss_cluster enabled
要从命令行确定数据库的当前设置,请使用rladmin info db
返回oss_cluster
设置的值。
$ rladmin info db test | grep oss_cluster:
oss_cluster: enabled
OSS集群API设置仅适用于指定的数据库;它不适用于集群。
双活数据库
OSS集群API设置适用于参与集群中的所有Active-Active数据库实例。要为Active-Active数据库启用OSS集群API,请使用集群管理器UI或crdb-cli
工具。
要创建一个Active-Active数据库并使用crdb-cli
启用OSS Cluster API:
$ crdb-cli crdb create --name <name> \
--memory-size 10g --port <port> \
--sharding true --shards-count 2 \
--replication true --oss-cluster true --proxy-policy all-master-shards \
--instance fqdn=<fqdn>,username=<user>,password=<pass> \
--instance fqdn=<fqdn>,username=<user>,password=<pass> \
--instance fqdn=<fqdn>,username=<user>,password=<pass>
查看crdb-cli crdb create
参考以获取更多选项。
要为现有的Active-Active数据库启用OSS Cluster API,使用crdb-cli
:
-
获取新数据库的
CRDB-GUID
:$ crdb-cli crdb list CRDB-GUID NAME REPL-ID CLUSTER-FQDN <CRDB-GUID> Test 4 cluster1.local
-
使用
CRDB-GUID
来启用OSS集群API:$ crdb-cli crdb update --crdb-guid <CRDB-GUID> \ --oss-cluster true
关闭OSS集群API支持
要停用数据库的OSS集群API支持,可以执行以下任一操作:
-
使用集群管理器UI在数据库配置设置的集群部分中关闭OSS集群API。
-
使用适当的工具来停用OSS集群API设置。
对于标准数据库,包括Replica Of,使用
rladmin
:$ rladmin tune db
oss_cluster disabled 对于Active-Active数据库,使用集群管理器UI或
crdb-cli
:$ crdb-cli crdb update --crdb-guid
\ --oss-cluster false
当您为现有数据库关闭OSS集群API支持时,此更改将应用于新连接,但不会影响现有连接。客户端必须关闭现有连接并重新连接以应用此更改。
多键命令支持
当您为数据库启用OSS集群API时, 多键命令仅在所有键映射到同一槽时才允许使用。
要验证您的数据库是否满足此要求,请确保受多键命令影响的所有键的CLUSTER KEYSLOT
回复相同。要了解更多信息,请参阅多键操作。