主从复制,就是主机数据更新后根据配置和策略,自动同步到备机的master/slaver
Master以写为主,Slaver以读为主
一:配从不配主
1:拷贝多个redis.conf
2:开启daemonize yes
3:Pid文件名字
4:指定端口
5:Dump.rdb名字
6:appendonly关掉
文件配置:redis6379.conf、redis6380.conf、redis6381.conf
info replication 打印主从复制的相关信息
slaveof <ip> <port> 成为某个实例的从服务器
二:Redis主从复制的三种方式
一主二仆
一个Master,两个Slave,Slave只能读不能写;当Slave与Master断开后需要重新slave of连接才可建立之前的主从关系;
Master挂掉后,Master关系依然存在,Master重启即可恢复。
薪火相传
上一个Slave可以是下一个Slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个slave的Master,
如此可以有效减轻Master的写压力。如果slave中途变更转向,会清除之前的数据,重新建立最新的。
反客为主
当Master挂掉后,Slave可键入命令 slaveof no one使当前redis停止与其他Master redis数据同步,转成Master redis。
三:复制原理
1:Slave启动成功连接到master后会发送一个sync命令;
2:主机立刻进行存盘操作,给从机发送RDB文件
3:从机收到RDB文件后进行全盘加载
4:之后每次主机的写操作,都会立刻发送给从机,从机执行相同的命令
四:哨兵模式
反客为主的自动版,能够后台监控Master库是否故障,如果故障了根据投票数自动将slave库转换为主库。
一组sentinel能同时监控多个Master。
使用步骤:
1:在Master对应redis.conf同目录下新建sentinel.conf文件
2:配置哨兵,在sentinel.conf文件中填入内容:
sentinel monitor 被监控数据库名字(自己起名字) ip port 1
说明:上面最后一个数字1,表示主机挂掉后slave投票看让谁接替成为主机,得票数多少后成为主机。
3:启动哨兵模式:
命令键入:redis-sentinel /myredis/sentinel.conf