Redis主从复制

情到浓时终转凉″ 提交于 2020-02-08 10:30:38

master负责写操作,slave负责读。做到读写分离。

特点:

  1. master/slave角色
  2. master/slave数据相同
  3. 降低master读压力转交给slave
  4. 主从复制不会阻塞 master,在同步数据时,master 可以继续处理 client 请求
  5. 只有一个主 redis,可以有多个从 redis

升级版:哨兵模式,防止master出现crash

主从配置

  1. 主 redis 配置
    无需特殊配置。
  2. 从redis配置
    修改从 redis 服务器上的 redis.conf 文件,添加 slaveof 主 redisip 主 redis 端口。
slaveof 192.168.101.3 6379

主从复制过程

在 redis2.8 版本之前主从复制过程如下图:

在这里插入图片描述

复制过程说明:
  1. slave 服务启动,slave 会建立和 master 的连接,发送 sync 命令。
  2. master 启动一个后台进程将数据库快照保存到 RDB 文件中;master将中途的写操作存储于缓冲区
  3. master发送RDB文件给salve
  4. salve将文件保存到磁盘上,然后加载到内存中恢复
  5. master把缓存的命令转发给slave

注意:后续 master 收到的写命令都会通过开始建立的连接发送给 slave。
当 master 和 slave 的连接断开时 slave 可以自动重新建立连接。如果 master 同时收到多个 slave 发来的同步连接命令,只会启动一个进程来写数据库镜像,然后发送给所有 slave。

检查replication状态

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!