Aus dem gleichen Grund wie die MySQL-Master-Slave-Replikation kann Redis zwar sehr schnell lesen und schreiben, aber auch einen extrem hohen Lesedruck verursachen. Um den Lesedruck zu teilen, unterstützt Redis die Master-Slave-Replikation. Die Master-Slave-Struktur von Redis kann einen Master und mehrere Slaves oder eine Kaskadenstruktur verwenden. (Empfohlenes Lernen: Redis-Video-Tutorial)
Die Redis-Master-Slave-Replikation kann in vollständige Synchronisierung und inkrementelle Synchronisierung unterteilt werden, je nachdem, ob sie vorhanden ist voll ist oder nicht.
1 Vollständige Synchronisierung
Die vollständige Redis-Replikation erfolgt im Allgemeinen während der Slave-Initialisierungsphase. Zu diesem Zeitpunkt muss der Slave übertragen werden Erstellen Sie von beiden eine Kopie aller Daten. Die spezifischen Schritte sind wie folgt:
1) Der Slave-Server stellt eine Verbindung zum Hauptserver her und sendet den SYNC-Befehl
2) Nachdem der Hauptserver die SYNC-Benennung erhalten hat, beginnt er mit der Ausführung BGSAVE-Befehl zum Generieren der RDB-Datei und Verwenden des Pufferdatensatzes Alle danach ausgeführten Schreibbefehle
3) Nachdem der Master-Server BGSAVE ausgeführt wurde, sendet er Snapshot-Dateien an alle Slave-Server und zeichnet weiterhin die ausgeführten Schreibbefehle auf während des Sendezeitraums;
4) Nach dem Empfang der Snapshot-Datei verwirft der Slave-Server alle alten Daten und lädt den empfangenen Snapshot
5) Nachdem der Master-Server-Snapshot gesendet wurde, startet er um den Schreibbefehl im Puffer an den Slave-Server zu senden;
Nach Abschluss der oben genannten Schritte ist die Dateninitialisierung des Slave-Servers abgeschlossen. Für alle Vorgänge kann der Slave-Server nun Leseanforderungen von Benutzern empfangen.2 Inkrementelle Synchronisierung
Redis inkrementelle Replikation bezieht sich auf den Prozess der Synchronisierung von Schreibvorgängen auf dem Master-Server mit dem Slave-Server, wenn der Slave nach der Initialisierung normal zu arbeiten beginnt. Der Prozess der inkrementellen Replikation besteht hauptsächlich darin, dass der Master-Server jedes Mal, wenn er einen Schreibbefehl ausführt, denselben Schreibbefehl an den Slave-Server sendet und der Slave-Server den empfangenen Schreibbefehl empfängt und ausführt.
3 Redis-Master-Slave-SynchronisationsstrategieWenn der Master-Slave gerade verbunden ist, wird die vollständige Synchronisierung durchgeführt. Nach Abschluss der vollständigen Synchronisierung erfolgt die inkrementelle Synchronisierung durchgeführt wird. Selbstverständlich kann der Slave bei Bedarf jederzeit eine vollständige Synchronisierung einleiten. Die Redis-Strategie besteht darin, dass, egal was passiert, zuerst eine inkrementelle Synchronisierung versucht wird, und wenn dies nicht gelingt, muss die Slave-Maschine eine vollständige Synchronisierung durchführen.
Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Redis Getting Started Tutorial.
Das obige ist der detaillierte Inhalt vonSo synchronisieren Sie Master-Slave in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!