前面已在192.168.75.105上搭建了一个redis。
现将redis整个目录拷贝到192.168.75.106上。
因为日志和数据全在这个目录中,因此可直接启动,数据也完整。
现将106配置为从节点:
只需要修改配置文件:
#slaveof 当本机为从服务时,设置主服务的IP及端口
slaveof 192.168.75.105 6380
#masterauth 当本机为从服务时,设置主服务的连接密码
masterauth 123456
# 从节点是否只读
slave-read-only yes
再次启动两redis。
在主节点中添加新数据:
在从节点可以读取到:
在从节点添加数据:
提示添加失败。
因为从节点我们配置的是只读。
注:如果对一个已有数据的redis添加从节点,而且从节点初始没有数据,还会查到主节点之前的数据吗?
还是上面的例子,在主节点上先执行bgsave,再将从节点的配置改回单独的库,重新启动。然后删除库中的数据:
再将配置改回从节点(前面已把本机自身的数据删除了),启动后查询数据:
可见,从节点自身没有数据,但启动后能查到主节点的所有数据。
经一系列的测试得出一个结论:
当redis配置为从节点时,其自身之前的数据查不到了,只能查主节点的数据,使用save命令后其原数据将被替换。