准备redis5.0.0以上版本
从5.0.0开始,SLAVEOF命名改名为replicaof
配置方式
方法1
修改从服务器配置,添加如下配置文件
replicaof 127.0.0.1 6379
127.0.0.1是主服务器ip,6379是主服务器端口号
方法2
如果从服务器已经启动,不想重启服务,则可以使用命令的方式配置主服务器
使用redis-cli连接从服务器
redis-cli -p 6380
127.0.0.1:6380>replicaof 127.0.0.1 6379
>OK
取消复制
执行命令
redis-cli -p 6380
127.0.0.1:6380>replicaof no one
>OK
注意:一个从服务器只能拥有一个主服务器,一个主服务器可以拥有多个从服务器
ROLE查看服务器角色
使用ROLE命令可以查看当前服务器担任的角色
无须硬盘的复制
前面的方法复制原理是主服务器数据更新时,会生成快照文件,然后将快照文件发送给从服务器,如果RDB文件过大,主服务器硬盘性能将会受影响,异步复制进程将会变慢。
为了解决这个问题,在redis2.8.18版本引入了无须硬盘复制特性
要使用无须硬盘的复制特性,我们只需要将主服务器repl-diskless-sync配置选项的值设置为yes即可:
repl-diskless-sync <yes|no>
参考资料
《Redis使用手册》作者黄健宏