SLAVEOF host port

Redis SLAVEOF 命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。

注意: 从 Redis 5 起使用 REPLICAOF 替代 SLAVEOF 。当然,为了向后兼容 SLAVEOF 命令仍然可用。

SLAVEOF命令可以临时修改从节点的复制配置。如果当前服务器已经是某个主服务器(master server)的从属服务器,SLAVEOF NO ONE 命令会停止复制,把节点改为主节点。

SLAVEOF hostname port 可以使正在复制其它节点的 Redis 改为复制新的 hostname 和 port。

SLAVEOF hostname port 将会停止从旧的主节点复制,丢弃已经同步的旧的数据,并开始从新的节点同步数据。

SLAVEOF NO ONE 用来停止复制,把从节点改为主节点,但是不会丢弃已复制的数据。所以,当 Master 主节点出现问题时,可以把从节点变成 Master 主节点,使应用读/写新的主节点。当原来的主节点修复之后,可以把新的 Master 节点重新配置为从节点。

利用『 SLAVEOF NO ONE 不会丢弃同步所得数据集』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

*语法

redis SLAVEOF 命令基本语法如下:

redis 127.0.0.1:6379> SLAVEOF host port 

*返回值

字符串:总是返回 OK 。

edis 127.0.0.1:6379> SLAVEOF 127.0.0.1 6379
OK

redis 127.0.0.1:6379> SLAVEOF NO ONE
OK