什么是 redis 的复制功能?

什么是 redis 的复制功能?

1 个解决方案

AllenJiang
中间件研发,关注微信公众号 : 小哈学Java, 回复"666", 即可免费领取10G学习&面试资料

复制通常为被复制方(master)主动将数据发送到复制方(slave),复制方接收到数据存储在当前实例,最终目的是为了保证双方的数据一致, 同时也是降低了 master 的压力的作用。

Redis 的复制方式有两种,分别是:

  • 1.主(master)- 从(slave)模式

  • 2.从(slave)- 从(slave)模式

复制的主要流程图如下所示:

1、slave 向 master 发送 sync 命令。

2、master 开启子进程执行 bgsave 写入 rdb 文件,同时将子进程接收到的写命令缓存起来。

3、子进程写完,父进程得知,开始将 RDB 文件发送给 slave。

4、master 发送完 RDB 文件,将缓存的命令也发给 slave。

5、master 增量的把写命令发给 slave