Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-cluster-replicate.html

Redis CLUSTER REPLICATE 命令

Redis 集群(Cluster) Redis 集群(Cluster)


Redis CLUSTER REPLICATE 命令重新配置一个节点成为指定 master 的 salve 节点。如果收到命令的节点是一个 empty master,那么该节点的角色将由 master 切换为 slave。

一旦一个节点变成另一个 master 节点的slave,无需通知集群内其他节点这一变化:节点间交换信息的心跳包会自动将新的配置信息分发至所有节点。

命令格式

CLUSTER REPLICATE node-id

可用版本:>=3.0.0

时间复杂度:O(1)

基于如上假设,一个 slave 节点会接受该命令:

  1. 指定节点在它的节点信息表中存在。
  2. 指定节点无法识别接收我们命令的节点实例。
  3. 指定节点是一个 master。

如果收到命令的节点不是 slave 而是 master,只要在如下情况下,命令才会执行成功,该节点才会切换为 slave:

  1. 该节点不保存任何 hash 槽。
  2. 该节点是空的,key 空间中不存储任何键。

如果命令执行成功,新的 slave 会立即尝试连接它的 master 以便进行数据复制。

命令返回值

命令执行成功完成回复 OK,否则返回错误。