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