REDIS

Redis面试篇 -- Redis主从复制原理

Redis一般是用来支撑读高并发的,为了分担读压力,Redis支持主从复制。架构是主从架构,一主多从,主负责写,并且将数据复制到其它的slave节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。 redis主从复制的特点:redis采用异步方式复制数据到slave节点,从redis2.8开始,slave节点会周期性地确认自己每次复制的数据量;一个m

Redis一般是用来支撑读高并发的,为了分担读压力,Redis支持主从复制。架构是主从架构,一主多从, 主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。 所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。

 

redis主从复制的特点:

  • redis采用异步方式复制数据到slave节点,从redis2.8开始,slave节点会周期性地确认自己每次复制的数据量;

  • 一个master节点可以配置多个slave节点;

  • slave节点可以连接其他的slave节点;

  • slave节点做复制的时候,不会阻塞master节点的正常工作;

  • slave节点做复制的时候,也不会阻塞对自己的查询操作,它会用旧数据集来提供服务,但在复制完成时,需要删除旧数据集,加载新数据集,这时会暂停对外服务;

  • slave节点主要用来横向扩容,做读写分离,扩容的slave节点可以提高读的吞吐量;

  • 如果采用主从架构,必须开启master节点的持久化,不建议用slave节点作master节点的数据热备,因为如果一旦关掉master的持久化,可能在master宕机重启时数据是空的,然后一经复制,slave节点也会随之丢失。

 

1|0主从复制


    Redis主从复制分为全量复制和增量复制。

    全量复制一般发生在Slave初始化阶段,这时slave需要将master上的所有数据都复制一份。步骤如下:

  • 从服务器连接主服务器,发送psync命令;

  • 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令;

  • 主服务器BGSAVE执

原创不易,完成人机校验,阅读全文

相关推荐