Redis的主从复制MasterSlave

7次阅读

共计 926 个字符,预计需要花费 3 分钟才能阅读完成。

一、是什么

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

二、能干啥

读写分离 容灾备份

三、怎么配

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

四、一主二从模式

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

五、薪火相传模式

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

六、反客为主模式

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

slaveof no one // 选为主机

七、复制原理

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

八、哨兵模式

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