主从复制:主机数据更新之后根据配置和策略,自动同步到备机的master/slave机制,Master以写为主,Slave以读为主
主要作用:读写分离、容灾恢复
-
配从(库)不配主(库)
-
从库配置:slaveof 主库IP端口
每次与master断开后都需要重新连接,除非配置进redis.conf文件
-
修改配置文件细节操作
- 拷贝多个reids.conf文件
- 开启daemonize yes
- pid文件名字
- 指定端口
- log文件名字
- dump.rdb名字
-
一主二从
- 读写分离,只有master节点可以写
- 上一个slave节点可以作为另一个slave节点的master,slave可以接受另一个其他slave的连接和同步请求,那么该slave便作为链路中下一个master减轻master的写压力
- 中途修改了slave配置会清除之前的数据,重新建立拷贝最新的数据
- slaveof no one 使当前节点停止同步,转为master节点
- 复制原理
- slave启动成功连接到master之后会发送一个sync命令
- master接收到sync命令后启动后台存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次全部同步
- 全量复制:slave在接收到数据之后,将数据存盘并加载到内存中
- 增量复制:master继续将新的所有收集到的修改命令依次同步给slave完成同步
- 只要重连master将自动重新执行一次完全同步
- 缺点:复制延时,slave节点越多延时越严重
-
哨兵模式
- 作用:能够从后台监控主机是否故障并从剩余节点重新选举主节点
- 配置:sentinel monitor 主库名(默认mymaster)master节点ip master节点端口 2(master节点宕机后哪个节点代替,票数多选举为新的master节点)
- 一组sentinel可以同时监控多个master