主从模式
master-slave主从复制模式,有一个master主数据库和多个slave从数据库,它们遵从主从复制原则 (即当主数据库进行写入操作是,也同步给从数据库。后续版本中也增加了从从同步),master可以进行读写入操作,slave主要负责数据的读用于减轻master数据库读的压力。当 master 挂掉的时候slave从数据库可以转为master继续工作,这样就保证了redis的高可用特性。Redis的主从结构可以采用一主多从或者级联结构,如下图所示:
![](https://img-blog.csdnimg.cn/img_convert/2960610722db663ab5d073529e7d5bb2.png)
Redis的主从同步主要分为全量同步和增量同步两种,首次同步是全量同步
主从复制搭建:
主redis搭建: 按照之前搭建redis一样创建redis-master容器,配置信息的时候,我们给其添加访问密码 (不然从数据库无法连接上,当然我们也可以设置“protected-mode no”这样就不需要设置密码)
![](https://img-blog.csdnimg.cn/img_convert/38c6f4ed6535982b0e336b11b5eee410.png)
![](https://img-blog.csdnimg.cn/img_convert/7ef29bb467bf8234f1c7280a2b88090b.png)
说明: redis-server /etc/redis/redis.conf 表示redis启动使用该目录下的配置文件-- appendonly yes 表示开启持久化策略
从redis搭建: slave节点建议最好搭建2个,即一主二从。这里我们使用Docker搭建主从,所以也不需要额外的服务器,只需要把从节点的端口号改下即可。在从节点中需要通过replicaof (redis5.0以下使用slaveof) 配置master的IP和端口号,master的IP我们通过docker inpect命令查看“Networks”下的“IPAddress”即可看到(最好使用服务器的公网IP):另外如果master配置了连接密码,需要使用
![](https://img-blog.csdnimg.cn/img_convert/ae77028e407331a24a9c0fa5abcfb9c9.png)
![](https://img-blog.csdnimg.cn/img_convert/29e9762338a78d265e9f0aeb79285abe.png)
salve的redis配置如下:
![](https://img-blog.csdnimg.cn/img_convert/9123a6a37ec486d58d8bac09c06a9d1b.png)
创建redis-salve容器
![](https://img-blog.csdnimg.cn/img_convert/f874e47155b83210c597351feb5c7d23.png)
配置成功后,进入redis-cli并查看主从配置信息和状态
![](https://img-blog.csdnimg.cn/img_convert/29587f11f3ebbef8aef3fea5a55a5160.png)
![](https://img-blog.csdnimg.cn/img_convert/bbe5ced6402409a0fa5e842b796ab4b0.png)