Heim Datenbank Redis Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Jan 26, 2021 am 09:45 AM
redis 主从复制

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Empfohlen (kostenlos): redis

Artikelverzeichnis

  • Master-Slave-Replikation
    • Befehl
    • Konfiguration
  • Replikationsprinzip
    • Vollständige Kopie
    • Volume-Replikation hinzugefügt
    • Master-Slave-Replikation
    bezieht sich auf eins Die Daten des Redis-Servers werden auf andere Redis-Server kopiert. Der erste wird als Slave-Knoten bezeichnet. Er kann im Allgemeinen nur in eine Richtung kopiert werden Der Master führt hauptsächlich Schreibvorgänge aus, und der Slave führt hauptsächlich Lesevorgänge aus, um eine Trennung von Lesen und Schreiben zu erreichen.
  • Funktion
    • Datenredundanz: Die Master-Slave-Replikation implementiert eine Hot-Sicherung von Daten, die zusätzlich zur Persistenz eine Datenredundanzmethode darstellt.
    • Fehlerbehebung: Wenn auf dem Master-Knoten ein Problem auftritt, kann der Slave-Knoten Dienste bereitstellen, um eine schnelle Fehlerbeseitigung zu erreichen.
    Lastausgleich: Basierend auf der Master-Slave-Replikation in Kombination mit der Lese-Schreib-Trennung kann der Master-Knoten Schreibdienste und die Slave-Knoten Lesedienste bereitstellen (d. h. beim Schreiben von Redis-Daten stellt die Anwendung eine Verbindung zum Master-Knoten her Beim Lesen von Redis-Daten stellt die Anwendung eine Verbindung zum Slave-Knoten her, um die Serverlast zu teilen. Insbesondere in Szenarien, in denen weniger geschrieben und mehr gelesen wird, kann die gemeinsame Nutzung der Leselast durch mehrere Slave-Knoten die Parallelität erheblich erhöhen Redis-Server.
Eckpfeiler der Hochverfügbarkeit: Zusätzlich zu den oben genannten Funktionen ist die Master-Slave-Replikation auch die Grundlage für die Implementierung von Sentinels und Clustern. Daher ist die Master-Slave-Replikation die Grundlage der Redis-Hochverfügbarkeit.


Befehl

Befehl

Funktion
  1. Slaveof
  2. Host-Port
  3. Konvertieren Sie den aktuellen Server in einen Slave-Server des angegebenen Servers. Wenn es bereits ein Slave ist, beendet es die Synchronisierung des alten Master-Servers, verwirft den alten Datensatz und beginnt mit der Synchronisierung des neuen Master-Servers. „SLAVEOF NO ONE“ führt dazu, dass der Slave-Server die Replikationsfunktion abschaltet und vom Slave-Server zurück zum Master-Server wechselt. Der ursprünglich synchronisierte Datensatz wird nicht verworfen. Der Befehl

info

[section]section

Konfiguration

Nehmen Sie als Beispiel eine einzelne Maschine mit mehreren Diensten (normalerweise mehrere Maschinen mit mehreren Diensten, aber ich habe nur einen Server)

Zunächst einmal ist jeder Redis-Client standardmäßig der Host, der sein kann über den Info-Replikationsbefehl angezeigt.
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Jetzt müssen wir also drei Clients gleichzeitig öffnen, um einen Master und zwei Slaves zu simulieren, also müssen wir die Konfiguration ändern:

  1. Die Portnummer ändern
  2. Den PID-Namen ändern
  3. Das Protokoll ändern Name
  4. Ändern Sie den RDB-Namen
  5. Einstellungen Host-Verbindung (optional, verwenden Sie die Befehlszeile)

Kopieren Sie zunächst zwei Konfigurationsdateien als Slave-Konfiguration. Der Host kann die Standardeinstellung verwenden.
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Nehmen Sie redis80.conf als Beispiel, um die oben genannten fünf Konfigurationspunkte nacheinander zu ändern. Für 81 werden nur die ersten vier Punkte geändert.
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Dann starten Sie sie (79, 80, 81)
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Setzen Sie Master und Slave:

  1. 80 ist in der Konfigurationsdatei (dauerhaft) OK eingestellt, direkt:
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
  2. 81 hat keine Konfiguration, Sie können es manuell in der Befehlszeile festlegen
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Zu diesem Zeitpunkt 79 (Master) anzeigen:
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Kopierprinzip


Vollständig kopieren

Alle Sobald der Slave eine Verbindung zum Master herstellt, werden alle Daten vom Host auf den Slave kopiert. Vollständige Kopie.

Inkrementelle Replikation

Nachdem der Slave mit dem Master verbunden ist, werden die später vom Master aktualisierten Daten nur für diesen Teil der Daten synchron auf dem Slave aktualisiert.

Test

  1. Der Slave ist standardmäßig schreibgeschützt und kopiert inkrementell die Daten des synchronisierten Masters:
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
  2. Der Host ist ausgefallen:
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    3. Aus der Ausfallsituation:
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
    Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Verschachtelter Master-Slave


Wie in Abbildung 79 gezeigt, ist es der Host von 80, und 80 ist der Host von 81. Dies ist eine verschachtelte Master-Slave-Beziehung.
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Sentinel-Modus


Die oben genannten 80 oberen und verschachtelten Master-Slaves werden alle von uns manuell über die Befehlszeile eingegeben. Der Zweck besteht darin, zu vermeiden der Host. Maschine Der Fensterzeitraum für Post-Write-Vorgänge erfordert einen manuellen Eingriff.
Sentinel wird unabhängig als unabhängiger Prozess ausgeführt. Das Prinzip besteht darin, dass Sentinel mehrere laufende Redis-Server überwacht, indem es Befehle sendet und auf die Antwort des Redis-Servers wartet. Wenn Sentinel erkennt, dass der Host offline ist, wählt es einen Slave-Computer aus, der als neuer Host „hochgefahren“ wird (automatische Fehlermigration). Wenn der ursprüngliche Host online geht, wird der ursprüngliche Host zum Slave des neuen Hosts. Das Prinzip besteht darin, andere Server über das Veröffentlichungs- und Abonnementmodell zu benachrichtigen, die Konfigurationsdatei zu ändern und dadurch den Host zu wechseln.

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus Was tun, wenn Sentinel ausfällt? Zur gegenseitigen Überwachung können mehrere Sentinels eingesetzt werden.

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Bilder stammen von https://www.jianshu.com/p/06ab9daf921d.

  • Subjectively Down (SDOWN) bezieht sich auf die Ausfallzeit einer einzelnen Sentinel-Instanz auf der Serverleitung Urteil.
  • Objective Down
  • (Objectively Down, als ODOWN bezeichnet) bezieht sich auf mehrere Sentinel-Instanzen, die subjektive Offline-Beurteilungen auf demselben Server vornehmen und über den Befehl SENTINEL is-master-down-by-addr miteinander kommunizieren. Das Ergebnis ist dass der Server offline ist.
  • Wenn der Host objektiv offline geht, stimmt Sentinel für einen neuen Host (
Der spezifische Algorithmus wird weggelassen

), führt ein automatisches Failover (Failover) durch und benachrichtigt andere Server über Veröffentlichung und Abonnement, um den Host zu wechseln.

Konfigurieren Sie den Sentinel

Zuerst gibt es eine detaillierte kommentierte Sentinel-Konfiguration im Installationsverzeichnis:


Erstellen Sie eine neue sentinel.conf, um 6379 zu überwachen, und der Rest kann standardmäßig eingestellt werden: Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Starten Sie den Sentinel: Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus

Test

Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Redis erklärt die Master-Slave-Replikation und den Sentry-Modus
Öffnen Sie verschiedene Portkonfigurationsdateien mehrere Sentinel-Clients und folgen dann demselben Muster ( Redis erklärt die Master-Slave-Replikation und den Sentry-Modusfaul
)

INFO gibt verschiedene Informationen und statistische Werte über den Redis-Server in einem leicht verständlichen und lesbaren Format zurück. Durch Angabe des optionalen Parameters können Sie dafür sorgen, dass der Befehl nur einen bestimmten Teil der Informationen zurückgibt:

Das obige ist der detaillierte Inhalt vonRedis erklärt die Master-Slave-Replikation und den Sentry-Modus. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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 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 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 verwenden Sie Redis Lock So verwenden Sie Redis Lock Apr 10, 2025 pm 08:39 PM

Um die Operationen zu sperren, muss die Sperre durch den Befehl setNX erfasst werden und dann den Befehl Ablauf verwenden, um die Ablaufzeit festzulegen. Die spezifischen Schritte sind: (1) Verwenden Sie den Befehl setNX, um zu versuchen, ein Schlüsselwertpaar festzulegen; (2) Verwenden Sie den Befehl Ablauf, um die Ablaufzeit für die Sperre festzulegen. (3) Verwenden Sie den Befehl Del, um die Sperre zu löschen, wenn die Sperre nicht mehr benötigt wird.

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 die Befehlszeile der Redis So verwenden Sie die Befehlszeile der Redis Apr 10, 2025 pm 10:18 PM

Verwenden Sie das Redis-Befehlszeilen-Tool (REDIS-CLI), um Redis in folgenden Schritten zu verwalten und zu betreiben: Stellen Sie die Adresse und den Port an, um die Adresse und den Port zu stellen. Senden Sie Befehle mit dem Befehlsnamen und den Parametern an den Server. Verwenden Sie den Befehl Hilfe, um Hilfeinformationen für einen bestimmten Befehl anzuzeigen. Verwenden Sie den Befehl zum Beenden, um das Befehlszeilenwerkzeug zu beenden.

So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis Apr 14, 2025 pm 02:12 PM

Auf CentOS -Systemen können Sie die Ausführungszeit von LuA -Skripten einschränken, indem Sie Redis -Konfigurationsdateien ändern oder Befehle mit Redis verwenden, um zu verhindern, dass bösartige Skripte zu viele Ressourcen konsumieren. Methode 1: Ändern Sie die Redis -Konfigurationsdatei und suchen Sie die Redis -Konfigurationsdatei: Die Redis -Konfigurationsdatei befindet sich normalerweise in /etc/redis/redis.conf. Konfigurationsdatei bearbeiten: Öffnen Sie die Konfigurationsdatei mit einem Texteditor (z. B. VI oder Nano): Sudovi/etc/redis/redis.conf Setzen Sie die LUA -Skriptausführungszeit.

See all articles