Redis的主从复制(Master/Slave)

1、是什么

主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slave机制,Master以写为主,Slave以读为主redis

2、能干啥

读写分离 容灾备份数据库

3、怎么配

  1. 配从(库)不配主(库)
  2. 从库配置:slaveof 主库IP 主库端口
    每次与master断开后,都须要从新链接,除非你配置进redis.conf文件
    info replication
  3. 修改配置文件细节操做
    拷贝多个redis.conf文件
    开启daemonize yes
    Pid文件名字
    指定端口
    log文件名字
    Dump.rdb名字

4、 一主二从模式

clipboard.png

slaveof 127.0.0.1 6379 // 经过此命令,使6380,6381服务做为6379的从机

5、 薪火相传模式

slaveof 127.0.0.1 6379 // 经过此命令,使6380做为6379的从机
slaveof 127.0.0.1 6380 // 经过此命令,使6381做为6380的从机

6、 反客为主模式

基于一主二从模式,主机挂了,两个从机中选一个做为新主机spa

slaveof no one // 选为主机

7、复制原理

Slave启动成功链接到master后会发送一个sync命令
Master接到命令启动后台的存盘进程,同时收集全部接收到的用于修改数据集命令,
在后台进程执行完毕后,master将传送整个数据文件到slave,以完成一次彻底同步
全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
增量复制:Master继续将新的全部收集到的修改命令一次传给slave, 完成同步
但只有是从新链接master,一次彻底同步(全量复制)将会被自动执行code

8、哨兵模式

  • 是什么
    反客为主的自动版,可以后台监控主机是否故障,若是故障了根据投票数自动将从库转换为主库
  • 怎么配基于一主二从,6379带着6380,6381在redis配置文件目录新建sentinel.conf 文件sentinel monitor 被监控数据库名字(本身起名字)127.0.0.1 6379 1最后一个1,表示主机挂了后,slave投票看谁接替成为主机,得票数多少后成为主机启动哨兵,redis-sentinel /etc/redis/sentinel.conf一组sentinel能同时监控多个Master
相关文章
相关标签/搜索