群集 ADDSLOTS

语法
CLUSTER ADDSLOTS slot [slot ...]
从以下位置开始可用:
3.0.0
时间复杂度:
O(N),其中 N 是哈希槽参数的总数
ACL 类别:
@admin, @slow, @dangerous,

此命令可用于修改节点的群集视图 配置。具体来说,它为节点分配了一组哈希槽 接收命令。如果命令成功,节点将映射 指定的 hash 插槽到自身,并将开始广播新的 配置。

但请注意:

  1. 仅当从接收命令的节点的角度来看,所有指定的插槽当前未分配时,该命令才有效。节点将拒绝获得已经属于其他节点(包括自身)的 slot 的所有权。
  2. 如果多次指定同一槽,则命令失败。
  3. 作为命令执行的副作用,如果指定为参数的 slot 设置为importing,则一旦节点将(以前未绑定的)插槽分配给自身,此状态就会被清除。

例如,以下命令将插槽 1、2、3 分配给接收 命令:

> CLUSTER ADDSLOTS 1 2 3
OK

但是,尝试再次执行它会导致错误,因为插槽 已分配:

> CLUSTER ADDSLOTS 1 2 3
ERR Slot 1 is already busy

Redis 集群中的使用情况

此命令仅在集群模式下有效,在以下环境中很有用 Redis 集群作:

  1. 要创建新的cluster ADDSLOTS用于初始设置主节点,在它们之间拆分可用的哈希槽。
  2. 为了修复某些插槽未分配的损坏集群。

有关槽传播和警告的信息

请注意,一旦节点为其分配了一组插槽,它将启动 在检测信号数据包标头中传播此信息。但是, 其他节点只有在插槽为 尚未与其他节点绑定,或者如果 通告新哈希槽的节点大于当前列出的节点 在表中。

这意味着此命令应仅由应用程序谨慎使用 编排 Redis Cluster,如redis-cli和命令(如果使用 超出正确的上下文可能会使集群处于错误的状态或原因 数据丢失。

RESP2/RESP3 回复

简单的字符串回复OK如果命令成功。否则,将返回错误。
为本页评分
返回顶部 ↑