注意这个ip地址和master-redis的ip要一样。
现在我们可以运行这个redis的slave容器了:
然后我们可以看到主从复制成功了:
打开master的redis-cli:
操作一些操作,可以看到master和slave都几乎同步的做了一些动作,也就是主从复制:
设置密码
把之前的容器都清理掉。。。
主从复制的master通常需要设置密码,修改redis.conf文件,找到requirepass这部分,取消注释并设置密码:
在slave的redis2.conf里,找到masterauth这部分,填写master的密码:
首先我填写一个错误的密码。
然后运行两个容器,看看什么效果:
可以看到提示密码不正确,无法进行复制。
然后删掉slave容器,再把redis2.conf的密码修正一下:
然后再运行slave容器:
这次可以看到连接成功了。
其它的配置方式 redis-server的命令行参数
如上图,这就对port和replicaof进行配置,而没有使用redis2.conf(所以该命令前面的-v部分也是没有什么作用的)。
CONFIG SET
前面我们使用了自定义的配置文件来运行Redis,但是这样的话需要重启Redis Server。
而如果使用CONFIG SET(https://redis.io/commands/config-set)的话,那就不需要重启redis server直接就可以修改配置,但是这样做不会修改redis.conf等配置文件的。
首先需要使用redis-cli,然后进行配置即可,例如:
这就是添加了一个快照的设置:每20秒如果有两个变化就做一个快照。