Zuerst fügen wir „slaveof masterHost masterPort“ zur Konfigurationsdatei der Slave-Bibliothek hinzu, um die entsprechende Hauptbibliothek anzugeben. Wenn Sie zu diesem Zeitpunkt die Slave-Bibliothek starten, findet Redis die angegebene IP- und Portnummer, um eine Verbindung zum Master herzustellen. Wenn es sich um einen laufenden Redis-Server handelt, können wir den Befehl „slaveof masterHost“ „masterPort“ ausführen, um die Replikation von der Slave-Bibliothek aus zu starten .
Die folgende Tabelle zeigt die Schritte, die Redis während der Master-Slave-Replikation durchläuft:
步骤 | 主服务器 | 从服务器 |
---|---|---|
1 | 正常运行中... | 发送sync命令,连接到主服务器 |
2 | 执行bgsave 命令,并将稍后的写命令记录到缓冲区 |
如果配置slave-serve-stale-data 为 yes( 默认设置 ) ,从库会继续响应客户端的请求;否则除了 INFO 和 SLAVOF 命令之外的任何请求都会返回给客户端一个错误提示 |
3 |
bgsave 执行完毕,向从库发送快照文件,期间继续使用缓冲区记录写命令 |
丢弃所有数据,载入主库的快照文件 |
4 | 快照发送完毕,开始发送之前提到的缓冲区中的写命令 | 完成快照的解释运行,开始正常接收命令请求 |
5 | 缓冲区内容发送完毕,从此,每执行一个命令,都会想从服务器发送相同命令 | 执行主库发来的缓冲区中的命令,执行完毕之后,接收并执行主库发来的每一条写命令 |
Es ist zu beachten, dass die Slave-Datenbank beim Beginn der Replikation zunächst ihre eigene löscht Daten.
Weitere Redis-Kenntnisse finden Sie in der Spalte Redis-Einführungs-Tutorial.
Das obige ist der detaillierte Inhalt vonErstellungsprozess der Redis-Master-Slave-Replikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!