Heim  >  Artikel  >  Datenbank  >  So implementieren Sie die inkrementelle Synchronisierung von Redis

So implementieren Sie die inkrementelle Synchronisierung von Redis

(*-*)浩
(*-*)浩Original
2019-11-27 09:49:313685Durchsuche

So implementieren Sie die inkrementelle Synchronisierung von Redis

Bestehende Synchronisierungsstrategie von Redis

1. Inkrementelle Synchronisierungsfunktionskomponenten (empfohlenes Lernen: Redis-Video Tutorial)

1) Der Replikations-Offset des Master-Servers und der Replikations-Offset des Slave-Servers

Der Master-Server gibt jedes Mal N Bytes an den Slave-Server weiter , es addiert N zum Wert seines eigenen Replikationsoffsets;

Jedes Mal, wenn der Slave-Server N Bytes an Daten empfängt, die vom Masterserver übertragen werden, erhöht er seinen eigenen Replikationsoffset Wert.

2) Der Replikations-Backlog-Puffer des Master-Servers.

Eine vom Master-Server verwaltete Warteschlange mit einem Standardwert von 1 MB. Wenn der Master-Server keine Befehlsweitergabe durchführt Senden Sie nur Schreibbefehle. Für alle Slave-Server werden Schreibbefehle auch in den Replikations-Backlog-Puffer eingereiht.

3) Die laufende ID des Servers.

Jeder Server generiert beim Start zufällig eine Lauf-ID (runid).

2. Inkrementelle Synchronisierungsimplementierung

1) Der Slave-Server sendet einen PSYNC-Befehl an den Master-Server, der die Runid und den Replikationsoffset des Master-Servers enthält >

2) Der Hauptserver überprüft, ob die Runid mit seiner eigenen Runid übereinstimmt. Wenn nicht, wird eine vollständige Kopie durchgeführt.

3) Der Hauptserver überprüft, ob der Kopieroffset innerhalb des Backlog-Puffers liegt . Wenn nicht, wird eine vollständige Kopie durchgeführt.

4) Wenn beide Überprüfungen erfolgreich sind, sendet der Master-Server alle Daten nach dem Offset im Backlog-Bereich an den Master und den Slave Die Server kehren wieder in einen konsistenten Zustand zurück.

3. Fazit

1) Nur wenn die Runid und der Offset des Master-Servers konsistent sind, übernimmt Redis die inkrementelle Synchronisierungsstrategie ist Große Einschränkungen;

2) Daher übernimmt Redis eine vollständige Synchronisierungsstrategie, wenn der Slave-Server neu gestartet wird, der Master-Server ersetzt wird oder die Verbindungszeit zu lang ist.

Weitere technische Artikel zum Thema Redis finden Sie in der Spalte

Redis Getting Started Tutorial.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die inkrementelle Synchronisierung von Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn