CLUSTER SET-CONFIG-EPOCH

语法
CLUSTER SET-CONFIG-EPOCH config-epoch
可用版本
Redis 开源版 3.0.0
时间复杂度
O(1)
ACL 类别
@admin @slow @dangerous

此命令在新节点中设置特定的*配置纪元(config epoch)*。仅在以下情况有效:

  1. 节点的节点表为空。
  2. 节点的当前*配置纪元(config epoch)*为零。

需要这些先决条件,因为通常手动修改节点的配置纪元是不安全的,我们需要确保拥有更高配置纪元值(即最后一次故障转移的节点)的节点在声明哈希槽所有权时胜过其他节点。

但是,此规则有一个例外,那就是从头创建一个新集群时。Redis Cluster 的*配置纪元冲突解决*算法可以处理启动时配置相同的全部新节点,但此过程很慢,应作为例外处理,只为了确保无论发生什么,至少有两个节点最终总是会脱离拥有相同配置纪元的状态。

因此,在使用 CLUSTER SET-CONFIG-EPOCH 创建新集群时,我们可以在节点加入集群之前为每个节点分配不同的递进配置纪元。

RESP2/RESP3 回复

简单字符串回复:如果命令成功则返回 OK。否则返回错误。
评价此页面
回到顶部 ↑