Heim Datenbank Redis Redis lernt die Master-Slave-Replikation als Master/Slave

Redis lernt die Master-Slave-Replikation als Master/Slave

Mar 08, 2021 am 10:06 AM
redis 主从复制

Redis lernt die Master-Slave-Replikation als Master/Slave

Was ist

Jargon: Es ist das, was wir Master-Slave-Replikation nennen. Nachdem die Host-Daten aktualisiert wurden, werden sie entsprechend der Konfiguration automatisch mit dem Master/Slave-Mechanismus synchronisiert Richtlinie. Der Master dient hauptsächlich zum Schreiben. Was kann er tun? Trennung von Lesen und Schreiben. Notfallwiederherstellung. Empfohlen (kostenlos):

redis

• Ordnen Sie den Slave (die Bibliothek) zu, nicht den Master (die Bibliothek)

• Befehl zur Konfiguration der Slave-Bibliothek: Slaveof Master-Bibliothek IP-Master-Bibliotheksport

  • Jedes Mal, wenn Sie die Verbindung zum Master trennen, müssen Sie die Verbindung erneut herstellen, es sei denn, Sie konfigurieren Redis .conf-Datei (spezifischer Speicherort: redis.conf-Suche ### # REPLIKATION ####)
  • Informationsreplikation

• Konfigurationsdateidetails ändern

  • Kopieren Sie mehrere redis.conf-Dateien und benennen Sie sie entsprechend „redis[port]“ um. conf'   • Dämonisierung aktivieren ja   • PID-Dateiname • Geben Sie den Port an    • Protokolldateiname

   • dump.rdb-Name

Replikation Englisch [ˌreplɪ'keɪʃ(ə)n] US 'keɪʃ(ə) n] n.

(Malerei usw.) kopieren; wiederholen (insbesondere die Antwort auf die Verteidigung)




Häufig verwendete 3 Tricks



Ein Meister und zwei Sklaven Slaves)


Init


Durch Slavevon 127,0.0,1 6379d zum Einrichten der Slave-Maschine

Zu diesem Zeitpunkt sind ein Master und zwei Slaves eingerichtet
Stellen Sie k4 v4 im Master ein und erhalten Sie k4 in beiden Slaves angezeigt werden.

1. Wenn ich k1 und k2 vor dem Slave einstelle, kann die Slave-Maschine deren Werte überprüfen? Ja, die Slave-Maschine kann erst nach Erhalt von Anfang bis Ende spielen. Der Host muss alles erledigen 2. Zu diesem Zeitpunkt ist set k6 v6 auf dem Host eingestellt und set k6 v66 ist auch auf den beiden Slaves eingestellt. Wer zuerst kommt, mahlt zuerst, letzteres hat Vorrang. Können der Slave und der Host denselben Befehl ausführen?

Der Master schreibt als Master und der Slave liest als Master.

Zu diesem Zeitpunkt kann der Slave nicht schreiben und es wird eine Ausnahme gemeldet. 3. Der Host ist tot? Wie hoch sind die Chancen? Von der Maschine? An Ort und Stelle bleiben? Immer noch Sklave, bleib sitzen. Ich werde nicht in der Lage sein, zu übernehmen. Wenn der Anführer zurückkommt, wird alles wie zuvor sein

4. Die Sklavenmaschine ist gestorben? Sich von der Funktionsunfähigkeit erholen?

Wenn die Slave-Maschine ausfällt, wird sie bei der Wiederherstellung zum Master, denn • Jedes Mal, wenn sie vom Master getrennt wird, muss sie erneut verbunden werden, es sei denn, Sie konfigurieren sie in redis.conf. Wenn Sie mit der großen Armee mithalten möchten, verwenden Sie einfach den Befehlsslave. Beginnen Sie von vorne und spielen Sie die Konsole von Anfang bis Ende durch.

Redis lernt die Master-Slave-Replikation als Master/SlaveWeitergabe von Generation zu Generation


Kernidee: Dezentralisierung
Der vorherige Slave kann der Master des nächsten Slaves sein. Der Slave kann auch Verbindungs- und Synchronisationsanfragen von anderen Slaves empfangen, dann wird der Slave der nächste Master Die Kette kann den Schreibdruck des Masters effektiv reduzieren (der Slave des Slaves ist immer noch ein Slave).
Richtungsänderung auf halbem Weg: Die vorherigen Daten werden gelöscht und die neueste Kopie wird wiederhergestellt.
Slave der neuen Master-Bibliothek IP der neuen Master-Bibliothek Port
Zum Beispiel ist 79 der Host von 80, 80 Es ist der Host von 81. In 79 kann der Satz k9 v9 zwischen 80 und 81 abgefragt werden. Verwenden Sie die erneute Veröffentlichung von Informationen auf dem 80-Host. Es ist ein Slave, aber es ist auch mit einem Slave verbunden.


Kundenorientiert umkehren

SKLAVEVON niemandem

Stoppen Sie die Synchronisierung der aktuellen Datenbank mit anderen Datenbanken und verwandeln Sie sie in die Master-Datenbank Nachdem der Host aufgelegt hat, müssen die beiden Slaves zu diesem Zeitpunkt einen Chef auswählen. Verwenden Sie einen Befehl für 80, Sklave von Niemandem, lassen Sie 80 den Anführer nennen. Wenn für 81 ein Slave von 80 verwendet wird, wird der 80-Bit-Host erkannt, die Daten von 80 werden geändert und 81 kann auch abgefragt werden. Wenn der ursprüngliche Wirt 79 zurückkommt, wird er zu diesem Zeitpunkt zu einem unabhängigen Individuum.

Prinzip der Replikation


Nachdem der Slave erfolgreich gestartet und mit dem Master verbunden wurde, sendet er einen Synchronisierungsbefehl.
Der Master erhält den Befehl zum Starten des Hintergrundspeichervorgangs und sammelt gleichzeitig alle empfangenen Befehle für Nachdem der Hintergrundprozess abgeschlossen ist, überträgt der Master die gesamte Datendatei an den Slave, um eine vollständige Synchronisierung durchzuführen.

Vollständige Kopie: Nachdem der Slave-Dienst die Datenbankdateidaten empfangen hat, speichert er sie und lädt sie in die Erinnerung.

Inkrementelle Replikation: Der Master leitet weiterhin alle neu gesammelten Änderungsbefehle an den Slave weiter, um die Synchronisierung abzuschließen. Aber solange der Master wieder verbunden ist, wird automatisch eine vollständige Synchronisierung (vollständige Replikation) ausgeführt. Das erste Mal ist die vollständige Replikation, und danach handelt es sich um inkrementelles Kopieren.


Sentinel-Modus (Sentinel)

Eine Gruppe von Sentinels kann mehrere Master gleichzeitig überwachen (Patrol Sentinel)

Was ist das? Eine automatische Version, die hauptsächlich gegen Kunden gerichtet ist. Sie kann überwachen, ob Der Host ist im Hintergrund fehlerhaft. Die Konvertierung erfolgt automatisch von der Slave-Bibliothek zur Hauptbibliothek

1. Passen Sie die Struktur an, 6379 bringt 6380, 6381
2. Erstellen Sie eine neue sentinel.conf-Datei, der Name darf nicht falsch sein
3. Konfigurieren Sie den Sentinel, füllen Sie den Inhalt aus
1. Sentinel-Monitor Der Name des Überwachten Datenbank (benennen Sie es selbst) 127.0.0.1 6379 1
  2. Die letzte Zahl 1 oben bedeutet, dass die Salve abstimmt, um zu sehen, wer als Gastgeber übernimmt, nachdem die Anzahl der Stimmen ermittelt wurde. er wird der Host (PS. Es unterscheidet sich von der Beschreibung auf der offiziellen Website, es gibt unten offizielle Dokumente)
4. Starten Sie Sentinel
    1. redis-sentinel /sentinel.conf (die oben genannten Verzeichnisse werden entsprechend ihrer tatsächlichen Konfiguration konfiguriert Bedingungen und die Verzeichnisse können unterschiedlich sein)
5. Normale Master-Slave-Demonstration
6. Der ursprüngliche Master hängt
7. Für einen neuen stimmen
8 . Starten Sie den Master und den Slave neu und überprüfen Sie die Informationsreplikation

Frage: Wenn Der zuvor ausgefallene Master wird neu gestartet. Wird es einen Konflikt zwischen den beiden Mastern geben?
Antwort: Nein, der ursprüngliche Master wird zum Slave

Nachteile der Replikation

Replikationsverzögerung

Da alle Schreibvorgänge zuerst auf dem Master ausgeführt und dann mit dem Slave synchronisiert werden, erfolgt die Synchronisierung vom Master aus Wenn das System sehr ausgelastet ist, wird das Verzögerungsproblem schwerwiegender. Je größer die Anzahl der Slave-Maschinen, desto schwerwiegender wird es.

Weitere verwandte kostenlose Lernempfehlungen: Redis-Tutorial

Das obige ist der detaillierte Inhalt vonRedis lernt die Master-Slave-Replikation als Master/Slave. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie den Redis -Clustermodus So erstellen Sie den Redis -Clustermodus Apr 10, 2025 pm 10:15 PM

Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

So verwenden Sie den Befehl Redis So verwenden Sie den Befehl Redis Apr 10, 2025 pm 08:45 PM

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

So lesen Sie den Quellcode von Redis So lesen Sie den Quellcode von Redis Apr 10, 2025 pm 08:27 PM

Der beste Weg, um Redis -Quellcode zu verstehen, besteht darin, Schritt für Schritt zu gehen: Machen Sie sich mit den Grundlagen von Redis vertraut. Wählen Sie ein bestimmtes Modul oder eine bestimmte Funktion als Ausgangspunkt. Beginnen Sie mit dem Einstiegspunkt des Moduls oder der Funktion und sehen Sie sich die Codezeile nach Zeile an. Zeigen Sie den Code über die Funktionsaufrufkette an. Kennen Sie die von Redis verwendeten Datenstrukturen. Identifizieren Sie den von Redis verwendeten Algorithmus.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

So löschen Sie Redis -Daten So löschen Sie Redis -Daten Apr 10, 2025 pm 10:06 PM

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

So lesen Sie Redis -Warteschlange So lesen Sie Redis -Warteschlange Apr 10, 2025 pm 10:12 PM

Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

So sehen Sie alle Schlüssel in Redis So sehen Sie alle Schlüssel in Redis Apr 10, 2025 pm 07:15 PM

Um alle Schlüssel in Redis anzuzeigen, gibt es drei Möglichkeiten: Verwenden Sie den Befehl keys, um alle Schlüssel zurückzugeben, die dem angegebenen Muster übereinstimmen. Verwenden Sie den Befehl scan, um über die Schlüssel zu iterieren und eine Reihe von Schlüssel zurückzugeben. Verwenden Sie den Befehl Info, um die Gesamtzahl der Schlüssel zu erhalten.

So implementieren Sie die zugrunde liegenden Redis So implementieren Sie die zugrunde liegenden Redis Apr 10, 2025 pm 07:21 PM

Redis verwendet Hash -Tabellen, um Daten zu speichern und unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Hash -Tabellen, Sammlungen und geordnete Sammlungen. Ernähren sich weiterhin über Daten über Snapshots (RDB) und appendiert Mechanismen nur Schreibmechanismen. Redis verwendet die Master-Slave-Replikation, um die Datenverfügbarkeit zu verbessern. Redis verwendet eine Ereignisschleife mit einer Thread, um Verbindungen und Befehle zu verarbeiten, um die Datenatomizität und Konsistenz zu gewährleisten. Redis legt die Ablaufzeit für den Schlüssel fest und verwendet den faulen Löschmechanismus, um den Ablaufschlüssel zu löschen.

See all articles