CLUSTER DELSLOTS
语法
CLUSTER DELSLOTS slot [slot ...]
- 可用版本
- Redis 开源版 3.0.0
- 时间复杂度
- O(N),其中 N 是哈希槽参数的总数
- ACL 类别
-
@admin
,@slow
,@dangerous
,
在 Redis 集群中,每个节点都会跟踪哪个主节点正在服务特定的哈希槽。
CLUSTER DELSLOTS
命令指示特定的 Redis 集群节点忘记哪些主节点正在服务作为参数指定的哈希槽。
在一个收到 CLUSTER DELSLOTS
命令并因此移除了传递的哈希槽关联的节点语境中,我们称这些哈希槽是 未绑定 的。请注意,未绑定哈希槽的存在是自然发生的,当一个节点尚未被配置来处理它们(这可以通过 CLUSTER ADDSLOTS
命令完成),并且如果它还没有收到关于谁拥有这些哈希槽的任何信息(这些信息可以从心跳或更新消息中获知)。
如果一个具有未绑定哈希槽的节点收到来自另一个声称拥有其中某些哈希槽的节点的心跳包,关联会立即建立。此外,如果收到的心跳或更新消息的配置纪元大于节点自身的配置纪元,关联也会重新建立。
但是,请注意
- 该命令仅在所有指定的槽都已与某个节点关联时才有效。
- 如果多次指定同一个槽,该命令将失败。
- 作为命令执行的副作用,由于并非所有哈希槽都被覆盖,节点可能会进入 down 状态。
示例
以下命令从接收该命令的节点中移除槽 5000 和 5001 的关联
> CLUSTER DELSLOTS 5000 5001
OK
在 Redis 集群中的用法
该命令仅在集群模式下有效,可能有助于调试,并在创建新集群时手动协调集群配置。目前 redis-cli
未使用该命令,它的存在主要是为了 API 的完整性。
RESP2/RESP3 回复
简单字符串回复:如果命令成功则返回OK
。否则返回错误。