提到主从,当然就要求2台或2台以上redis实例了,这里按1主1从来配置,使用docker启动2个redis实例:redis-master和redis-slave
先修改redis从实例配置文件,添加一行代码masterauth password,这里的password需要配置成主实例的授权密码;
然后进入从实例命令行(redis-cli)配置主从授权,如果设置了密码请先输入授权访问密码,
然后执行命令:replicaof host port,完成主从配置;
本例中我的2个redis实例ip分别为:master-> 172.18.0.3,slave->172.18.0.2,所以具体配置命令为:replicaof 172.18.0.3 6379 (如果是使用docker搭建的实例,则host参数可以指定实例名称,前提是2个redis实例要在一个虚拟网络中;也可以使用宿主机ip port来连接:replicaof 192.168.1.202 63790)
在从实例上查看主从复制信息:
master_link_status:up可以看到主从复制的连接状态是启动的
在主实例上查看主从复制信息:
connected_slaves:1可以看到已经连上一个从实例了
最后测试一下主从复制效果:
1、在主实例上写缓存
2、然后去从实例上查看是否存在
注:通常命令行启动主从复制不够稳定,宕机、重启等会断开复制线程,导出主从配置失效,可以把相关命令写到配置文件中,这样一来重启实例时会加载主从命令
到此,redis的1主1从复制配置成功。
取消主从复制可使用命令:replicaof no one