Redis复制过程原理

1、Redis支持主从(master-slave)复制功能,当主服务器更新数据时能同步到从服务器
(1)在从Redis服务器的redis.conf中添加slaveof masterip masterport即可主Redis服务器不需要做任何配置
(2)在启动Redis服务器时指定主服务器 redis-server -- slave materip masterport
(3)在客户端指定主服务器redis>slaveof masterip masterport SLAVEOF命令会会停止与原主服务器的同步,转向新的主服务器同步

原理
(1)Redis主服务器等待命令SYNC的进入,Redis从服务(连接或重新连接)发送SYNC命令
(2)Redis主服务接受SYNC命令后开始执行BGSAVE命令,并使用缓冲区记录BGSAVE之后执行所有的写命令,从服务跟配置选项来决定是否使用现有的数据来处理客户端的命令请求,还是向发送请求的客户端返回错误
(3)主服务器执行BGSAVE完毕之后 向从服务发送快照文件,并在发送期间继续使用缓冲区记录被执行的写命令,此时从服务丢弃所有旧数据,开始载入主服务器发来的快照文件
(4)主服务器快照文件发送完毕,开始向从服务器发送存储在缓冲区里的写命令,从服务器完成对快照文件的解释操作,像往常一样开始接收命令请求
(5)主服务器缓冲区存储的写命令发送完毕;从现在开始没执行一条命令,就向从服务器发送同样的命令,从服务器执行完主服务器发来
的存储在缓冲区的写命令,并从现在开始,执行主服务器发来的每一个写命令。
注:从服务在进行同步时,会清空自己的所有数据,从服务器在和主服务器进行初始连接时。数据库原有的所有数据将都丢失,并替换成主服务器发来的数据

redis验证快照文件和AOF文件两个命令程序:
redis-check-aof --fix <file.aof> 命令会扫描给定 的aof文件 寻找不正确的命令 找到第一个出错的命令后 会删除之后的所有命令,只保留出错命令之前的命令,大多数情况都是删除AOF文件末尾不完整的命令。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本篇就一下方面展开分析 如何使用主从复制? 主从复制的原理(重点是全量复制和部分复制、以及心跳机制) 实际应用中需...
    lucode阅读 1,066评论 0 5
  • 前面的几章介绍了各式各样的Redis命令以及使用这些命令来操作数据结构的方法,还列举了几个使用Redis来解决实际...
    好好学习Sun阅读 373评论 0 0
  • 一、Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。 我们知道,在w...
    空语阅读 1,681评论 0 2
  • 什么是Redis的主从复制   在Redis中,用户通过执行slaveof命令或者设置配置文件slaveof选项的...
    纸中圆阅读 673评论 0 0
  • 企业级redis集群架构的特点 海量数据 高并发 高可用 要达到高可用,持久化是不可减少的,持久化主要是做灾难恢复...
    lucode阅读 2,283评论 0 7

友情链接更多精彩内容