
首先我们会在从库配置中文件加入slaveof masterHost masterPort来指定相应的主库。此时如果启动从库,那么redis会找到指定ip和端口号来连接master;如果是一个正在运行的redis服务器,那么我们可以执行slaveof masterHost masterPort命令来让从库开始复制。
下面表格展示了redis在主从复制时经历了哪些步骤:
| 步骤 | 主服务器 | 从服务器 | 
|---|---|---|
| 1 | 正常运行中... | 发送sync命令,连接到主服务器 | 
| 2 | 执行 bgsave命令,并将稍后的写命令记录到缓冲区 | 如果配置 slave-serve-stale-data为 yes( 默认设置 ) ,从库会继续响应客户端的请求;否则除了 INFO 和 SLAVOF 命令之外的任何请求都会返回给客户端一个错误提示 | 
| 3 | bgsave执行完毕,向从库发送快照文件,期间继续使用缓冲区记录写命令 | 丢弃所有数据,载入主库的快照文件 | 
| 4 | 快照发送完毕,开始发送之前提到的缓冲区中的写命令 | 完成快照的解释运行,开始正常接收命令请求 | 
| 5 | 缓冲区内容发送完毕,从此,每执行一个命令,都会想从服务器发送相同命令 | 执行主库发来的缓冲区中的命令,执行完毕之后,接收并执行主库发来的每一条写命令 | 
需要注意的是从库在开始复制时,会先将本身的数据清空。
更多redis知识请关注redis入门教程栏目。
以上就是redis主从复制创建过程的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号