Redis-主从复制(Master/Slave)

主从复制:主机数据更新之后根据配置和策略,自动同步到备机的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节点
    • 复制原理
      1. slave启动成功连接到master之后会发送一个sync命令
      2. master接收到sync命令后启动后台存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次全部同步
      3. 全量复制:slave在接收到数据之后,将数据存盘并加载到内存中
      4. 增量复制:master继续将新的所有收集到的修改命令依次同步给slave完成同步
      5. 只要重连master将自动重新执行一次完全同步
    • 缺点:复制延时,slave节点越多延时越严重
  • 哨兵模式

    • 作用:能够从后台监控主机是否故障并从剩余节点重新选举主节点
    • 配置:sentinel monitor 主库名(默认mymaster)master节点ip master节点端口 2(master节点宕机后哪个节点代替,票数多选举为新的master节点)
    • 一组sentinel可以同时监控多个master

Redis-主从复制(Master/Slave)

上一篇:Calibration Checkerboard Collection


下一篇:LeetCode-103-二叉树的锯齿形层序遍历