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 <masterip> <masterport>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机Redis全量复制与部分复制示例详解
数据库2024-04-02
redis主从复制之全量复制与部分复制
数据库2024-04-02
Redis复制原理的示例分析
数据库2023-06-15
Redis中主从复制的示例分析
数据库2023-06-15
Redis中主从复制架构的示例分析
数据库2024-04-02
Python实现强制复制粘贴的示例详解
数据库2022-12-19
redis中主从复制原理的的示例分析
数据库2024-04-02
MySQL Replication中的并行复制示例详解
数据库2022-07-01
python列表的切片与复制示例分析
数据库2024-04-02
redis主从复制、哨兵和集群的示例分析
数据库2024-04-02
Redis中主从复制、哨兵、集群的示例分析
数据库2024-04-02
shell脚本批量复制及执行命令的示例详解
数据库2022-06-04
Redis中主从复制和哨兵模式的示例分析
数据库2024-04-02
如何理解Redis主从复制的全量和增量同步
数据库2024-04-02
mysql中复制原理与实践应用的示例分析
数据库2024-04-02
seaborn绘制双变量联合分布图示例详解
数据库2022-12-25
Mysql主从复制与读写分离图文详解
数据库2024-04-02
shell脚本中批量复制及执行命令的示例分析
数据库2023-06-09
Mysql主从复制,读写分离,分表分库策略与实践的示例分析
数据库2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧