Redis5 主从复制

主从复制,读写分离
主机数据跟新后根据配置和策略自动同步到备机的master/slaver 机制。Master 以写为主,Slaver以读为主。

使用方法:

  1. 配置从库不配置主库
  2. 命令:slaver 主库IP 主库端口
  3. 配置文件细节

进行复制的模式

主从复制:从Reids 执行 命令知乎会复制master 在Slaver 执行命令的时间节点前的所有数据,然后以添加的方式复制时间节点之后的所有数据。

  1. 一主多仆:一个master ,被多个slaver连接 主机死之后从机的原地待命,并且主机再次启动之后可已经主从关系续接上。
    从机死之后,再次开启,主从关系不再能复接。只要从机和master断开,都需要重新连接,除非你配置进了redis.cof 文件中。

  2. 前赴后继连接方式:多个Redis 像链表一样主从主从的连接起来
    第一个Redis 是Master 之后的Redis 虽然在逻辑上也是后一个Redis 的Master 但是在计算机中也是一个Slaver,只是他作为一个Slaver还连接了Slaver。

  3. 反客为主连接方式:在一主多仆的模式下
    主机挂掉,让连接他的Slaver变为Master。Master拉掉之后,Slaver执行 SLAVEOF no one 这个Slaver就会凡客为主,变成Master。此时原本连接挂掉的Master的Redis 就有两种选择:一是:变为新的Master的Slaver;二是:保持原地不动等待挂掉的Redis 复活。

进行复制的原理:
Slaver 启动成功连接到Master 后会发送一条synchrosized 命令,Master接收到指令之后,会启动存盘进程,同时收集用于数据修改的所有指令,在后台的存盘进程执行完毕之后,Master 会将整个数据文件传送给Slaver,这样就完成了一次完全同步
全量复制:在每一个Slaver 成功连接之后进行一次完全同步
增量复制:在连接之后的,完成全量复制之后,Master会继续收集收集修改数据的命令依次传递给Slaver完成同步

哨兵模式:sentinel ★★
反客为主的自动版,在反客为主的模式下,需要我们手动的将Slaver变为Master SLAVEOF no one ,哨兵模式是他的自动版。能够后台监控主机是否故障,如果故障了就从Slaver Redis 中选一个从库变为主库,当之前的Master再次启动的时候他会变成反客为主的现在的Master的Slaver。
要使用哨兵模式:要在redis/ 创建一个sentinel.conf 文件(千万不能写错)
文件中配置哨兵模式

sentinel monitor 被监控Redis的名字(自己随便起)被监控Redis的ip 地址 1(数字1 表示采用投票的方式选出下一个Master)
#例如:
sentinel monitor host 127.0.0.1 6379 1

在ip 为127.0.0.1 6379 挂掉之后,系统会自动选出Master ;并且当127.0.0.1 6379 重新启动之后也会变成选出的Master的Slaver。

不会做这些工作但是要懂

一组Sentinel可以监控多个Master

主从复制的缺点:
复制的延时,复制是从Master复制到Slaver,会有复制的延迟,在系统本来工作负担就比较大的时候问题会更加严重。

你可能感兴趣的:(Redis)