Redis全量复制与部分复制示例详解-创新互联
Redis 主从复制
- Redis 实例划分为主节点(master)和从节点(slave)
- 默认情况下,Redis都是主节点
- 每个从节点只能有一个主节点,而主节点可以同时具有多个从节点
- 复制的数据流是单向的,只能由主节点复制到从节点
- slaveof 命令在使用时,可以运行期动态配置,也可以提前写到配置文件中
- 主从复制
步骤 | 详细描述 |
---|---|
保存主节点信息 | 执行slaveof后从节点只保存主节点的地址信息便直接返回 |
主从建立socket连接 | 从节点(slave)内部通过每秒运行的定时任务维护复制相关逻辑,当定时任务发现存在新的主节点后,会尝试与该节点建立网络连接;从节点会建立一个socket套接字,专门用于接受住节点发送的复制命令;如果从节点无法建立连接,定时任务会无限重试直到连接成功或者执行 slaveof no one 取消复制 |
发送ping命令 | 连接建立成功后从节点发送ping请求进行首次通信,ping请求的目的:检测主从之间套接字是否可用;检测主节点当前是否可接受处理命令.如果发送ping命令后,从节点没有收到主节点的pong回复或者超时,比如网络超时或者主节点正在阻塞无法响应命令,从节点会端口复制连接,下次定时任务会发起重连 |
权限验证 | 如果主节点设置了requirepass 参数,则需要密码验证,从节点必须配置masterauth参数保证与主节点相同的密码才能通过验证;如果验证失败复制将终止,从节点重新发起复制流程 |
同步数据集 | 主从复制连接正常通信后,对于首次建立复制的场景,主节点会把持有的数据全部发送给从节点. |
命令持续复制 | 当主节点把当前的数据同步给从节点后,变成了复制的建立流程,接下来主节点会持续地把写命令发送给从节点,保证主从数据一致性 |
- 启动6380、6381
- 6381 执行命令
127.0.0.1:6381> slaveof 127.0.0.1 6380 Redis5.0.0 改为 : replicaof
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:Redis全量复制与部分复制示例详解-创新互联
地址分享:http://cdiso.cn/article/cogipj.html