Redis CLUSTER SET-CONFIG-EPOCH 命令为一个全新的节点设置指定的 config epoch 配置,并且仅在 2 种条件下有效:
- 该节点在节点信息表为空。
- 节点的当前 config epoch 为 0。
这些先决条件是需要的,因为通常情况下,人工修改一个节点的配置 epoch 是不安全的,我们想保证一点,在获取哈希槽的所有权时,拥有更高配置 epoch 值的节点获胜。但是该规则也有一个例外,在集群创建的时候,Redis 集群配置 epoch 冲突解决算法会解决集群启动时新的节点配置成相同配置 epoch 的问题,但是这个处理过程很慢,为了保证不管发生任何情况,都不会有两个节点拥有相同的配置 epoch。因此,当一个新集群创建的时候,使用命令 CONFIG SET-CONFIG-EPOCH 为每个节点分派渐进的配置 epoch,然后再加入集群。
命令格式
CLUSTER SET-CONFIG-EPOCH config-epoch
可用版本:>=3.0.0
时间复杂度:O(1)
命令返回值
命令执行成功完成回复 OK,否则返回错误。