里面的save 900 1.。。。这部分是指,900秒过后,如果至少1个key改变了,那么就做一个快照。
下面的就是300秒过后,如果10个key改变了,那就做一个快照。。。
这些就是进行快照动作的触发条件。
AOF相关
AOF模式默认是不开启的,也就是no。如果想开启,那就改成yes即可。
使用自定义配置运行Redis容器 RDB & AOF
把上述文件下载到本地,进行修改:
我添加了一个RDB的条件,5秒内1个Key被修改就会触发快照动作。
然后我启用了AOF:
首先把之前的容器删除吧,然后再建立一个。
这次建立docker容器的时候需要使用volume:
说明一下:
-v这部分是指volume,redis.conf在我电脑里的位置是:D:\Projects\Redis\redis.conf,所以我把该位文件的位置挂载到了容器里的/usr/local/etc/redis/redis.conf这个地方。
然后运行redis这个镜像,同时运行里面的redis-server,而redis-server的配置文件就是/usr/local/etc/redis/redis.conf。
现在这个redis-server运行起来了。
再打开一个redis-cli,还是使用容器:
然后我设置一个key的值:
这时就达到了RDB的最后一个条件,所以触发了快照动作。
我就不再实验了。。。
我再打开一下redis容器的bash,然后看一下aof文件是否生成:
可以看到每次操作后aof文件都会更新(里面可以认为就是事务的log)。
Master-Slave Replication 主从复制
简单讲一下Redis的主从复制,首先把之前的容器都删掉。。。
然后我们先建立docker 网络:
然后创建redis master的容器,不过首先修改一下redis.conf里的bind地址,原来是127.0.0.1,改为 bind 0.0.0.0:
这样的话其它的ip地址也可以连接过来了。
然后创建master容器:
注意里面使用了之前创建的桥接网络。
检查一下redis-net这个网络:
可以看到该网络里有一个容器master-redis,其ip为172.20.0.2。
然后把redis.conf再复制一份,名字为redis2.conf。
在redis2.conf的Replication部分里,把下面这部分取消注释,并修改为: