1.0 Redis-Persistenz Redis ist eine In-Memory-Datenbank. Sobald der Serverprozess beendet wird, gehen die Datenbankdaten verloren. Um dieses Problem zu lösen, bietet Redis zwei Persistenzlösungen, um die Daten im Speicher auf der Festplatte zu speichern und so Datenverlust zu vermeiden. 1|1RDB-Persistenz Redis bietet die RDB-Persistenzfunktion, die innerhalb eines bestimmten Zeitintervalls einen Point-in-Time-Snapshot des Datensatzes generiert. Diese Funktion kann den Status von Redis im Speicher auf der Festplatte speichern. Die durch RDB-Persistenz generierte RDB-Datei ist eine komprimierte Binärdatei. Diese Datei wird auf der Festplatte gespeichert. Redis kann den Datenbankstatus zu diesem Zeitpunkt über diese Datei wiederherstellen. Dies kann manuell durchgeführt werden. Es kann auch in redis.conf konfiguriert und regelmäßig ausgeführt werden. Vorteile: hohe Geschwindigkeit, geeignet für Backups, Master-Slave-Replikation basiert auf der RDB-Persistenzfunktion rdb löst rdb mithilfe des Save-Befehls in Redis aus RDB-Konfigurationsparameter: Port 6379 dämonisieren ja pid-Datei /data/6379/redis.pid Loglevel-Hinweis Protokolldatei "/data/6379/redis.log" dir /data/6379 geschützter Modus ja Datenbankdateiname dbmp.rdb sparen 900 1 sparen 300 10 sparen 60 10000 Alle 900 Sekunden gibt es eine Operation, die persistent ist Sparen Sie 900 Sekunden 1 Änderungsvorgang Sparen Sie 300 Sekunden 10 Operationen Sparen Sie 60 Sekunden 10000 Operationen 2. Lösen Sie die RDB-Persistenz aus oder speichern Sie den Befehl manuell, um die Persistenzdatei dump.rdb zu generieren 3. Starten Sie Redis neu, Daten gehen nicht mehr verloren 4. RDB-Datendateien sind Binärdateien und können nicht manuell gelesen werden. 1|2 Redis-Persistenz-AOF
Zeichnen Sie alle vom Server ausgeführten Änderungsvorgangsbefehle auf (z. B. Set Del usw.) und stellen Sie den Datensatz wieder her, indem Sie diese Befehle beim Starten des Servers erneut ausführen. Alle Befehle in der AOF-Datei werden im Format des Redis-Protokolls gespeichert und neue Befehle werden an das Ende der Datei angehängt. Vorteile: Das maximale Programm garantiert, dass keine Daten verloren gehen Nachteil: Der Logdatensatz ist sehr groß Konfiguration 1. Fügen Sie in der Konfigurationsdatei den Parameter aof hinzu Fügen Sie Parameter in redis-6379.conf hinzu, um die aof-Funktion zu aktivieren nur anhängen ja appendfsync jede Sekunde 2. Starten Sie die Redis-Datenbank neu und laden Sie die AOF-Funktion 3. Überprüfen Sie, ob das Redis-Datenverzeichnis /data/6379/ eine AOF-Datei generiert [root@web02 6379]# ls appendonly.aof dbmp.rdb redis.log 4. Melden Sie sich bei redis-cli an, schreiben Sie Daten und überwachen Sie AOF-Dateiinformationen in Echtzeit tail -f appendonly.aof 5. Legen Sie einen neuen Schlüssel fest, überprüfen Sie die AOF-Informationen, schließen Sie dann Redis und prüfen Sie, ob die Daten persistent sind redis-cli -a Redhat-Shutdown redis-server /etc/redis.conf redis-cli -ein Redhat Ohne Redis neu zu starten, wechseln Sie von RDB-Daten zu AOF-Daten 1. Konfigurieren Sie Redis zur Unterstützung der RDB-Persistenz 2. Starten Sie den Redis-Client und wechseln Sie vorübergehend über den Befehl in den AOF-Modus 127.0.0.1:6379> CONFIG set anhängen nur ja OK 127.0.0.1:6379> CONFIG SET speichern "" OK 3. Überprüfen Sie, ob der Datenpersistenzmodus rdb oder aof ist, überprüfen Sie die Datei appendonly.aof und überprüfen Sie die Datenänderungen tail -f appendonly.aof 4. Zu diesem Zeitpunkt ist aof noch nicht dauerhaft wirksam. Schreiben Sie die Parameter in die Konfigurationsdatei Bearbeiten Sie redis-6379.conf und fügen Sie die folgenden Parameter hinzu
2|0 Master-Slave-Synchronisation Implementierung der Redis-Master-Slave-Synchronisation 1. Bereiten Sie drei Redis-Datenbanken vor. Redis unterstützt mehrere Instanzen Drei Konfigurationsdateien, nur die Ports sind unterschiedlich Fügen Sie in den drei Konfigurationsdateien die Master-Slave-Synchronisierungsparameter hinzu redis-6379.conf Port 6379 dämonisieren ja pid-Datei /data/6379/redis.pid Loglevel-Hinweis Protokolldatei "/data/6379/redis.log" dir /data/6379 geschützter Modus ja Datenbankdateiname dbmp.rdb sparen 900 1 sparen 300 10 sparen 60 10000 redis-6380.conf Port 6380 dämonisieren ja pid-Datei /data/6380/redis.pid Loglevel-Hinweis Protokolldatei "/data/6380/redis.log" dir /data/6380 geschützter Modus ja Datenbankdateiname dbmp.rdb sparen 900 1 sparen 300 10 sparen 60 10000 Sklave von 127.0.0.1 6379 redis-6381.conf Port 6381 dämonisieren ja pid-Datei /data/6381/redis.pid Loglevel-Hinweis Protokolldatei "/data/6381/redis.log" dir /data/6381 geschützter Modus ja Datenbankdateiname dbmp.rdb sparen 900 1 sparen 300 10 sparen 60 10000 Sklave von 127.0.0.1 6379 2. Starten Sie drei Datenbankinstanzen und überprüfen Sie die Master-Slave-Synchronisierungsidentität redis-cli -p 6379 Info-Replikation redis-cli -p 6380 Info-Replikation redis-cli -p 6381 Info-Replikation 3: Überprüfen Sie die Informationen wie folgt und prüfen Sie, ob sie synchronisiert sind 4. Was passiert, wenn meine Hauptdatenbank abstürzt? ? Lösung: 1. Wechseln Sie manuell die Master-Slave-Identität und wählen Sie eine neue Master-Datenbank
2. Verwenden Sie Sentinel, um automatisch einen neuen Eigentümer zu wählen 2|1redis-Wächter: Wächterfunktion: Sentinel erkennt, ob die Master-Slave-Architektur normal ist. Wenn die Master-Datenbank ausfällt, ändert Sentinel redis.conf automatisch, um die Slaveof-Direktive hinzuzufügen/zu löschen. Redis Sentinel-Installationskonfiguration: 1. Bereiten Sie drei Redis-Instanzen vor, einen Master und zwei Slaves Weitere Einzelheiten finden Sie in der Redis-Master-Slave-Konfiguration oben. 2. Drei Datenbankinstanzen vorbereiten und starten redis-server redis-6379.conf redis-server redis-6380.conf redis-server redis-6381.conf 3. Bereiten Sie drei Sentinels vor und beginnen Sie mit der Überwachung der Master-Slave-Architektur Bereiten Sie drei Konfigurationsdateien vor, Sentinel-Dateien redis-26379.conf Port 26379 dir /var/redis/data/ Protokolldatei "26379.log" Sentinel-Monitor SBMaster 127.0.0.1 6379 2 Sentinel-Down nach Millisekunden QSmaster 30000 Sentinel Parallel-Syncs SBMaster 1 Sentinel Failover-Timeout SBMaster 180000 dämonisieren ja redis-26380.conf Port 26380 dir /var/redis/data/ Protokolldatei "26380.log" Sentinel-Monitor SBMaster 127.0.0.1 6379 2 Sentinel-Down nach Millisekunden QSmaster 30000 Sentinel Parallel-Syncs SBMaster 1 Sentinel Failover-Timeout SBMaster 180000 dämonisieren ja redis-26381.conf Port 26381 dir /var/redis/data/ Protokolldatei "26381.log" Sentinel-Monitor SBMaster 127.0.0.1 6379 2 Sentinel-Down nach Millisekunden sbmaster 30000 Sentinel Parallel-Syncs SBMaster 1 Sentinel Failover-Timeout SBMaster 180000 dämonisieren ja 4. Starten Sie drei Sentinel-Instanzen redis-sentinel redis-26380.conf redis-sentinel redis-26379.conf redis-sentinel redis-26381.conf Überprüfen Sie, ob der Sentinel-Status normal ist Nur wenn die folgenden Informationen gefunden werden und mit den folgenden übereinstimmen, ist es normal
# Wächter sentinel_masters:1 Sentinel-Neigung: 0 sentinel_running_scripts:0 Sentinel_Scripts_Warteschlangenlänge: 0 Fehlerflags simulieren: 0 Master0:Name=sbmaster,Status=ok,Adresse=127.0.0.1:6380,Slaves=2,Wächter=3 5. Automatischer Wechsel zwischen Master und Slave von Sentinel 1. Beenden Sie die Redis-Datenbank 6379 2. Überprüfen Sie die Identitätsinformationen von 6380 und 6381, um festzustellen, ob sie automatisch zwischen Master und Slave umgeschaltet werden (der Wechsel dauert 30 Sekunden). 3. Starten Sie die von 6379 aufgehängte Datenbank manuell, um zu prüfen, ob sie von Sentinel zum Master-Slave-Informationscluster hinzugefügt wird. Beachten! ! Wenn dies nicht erfolgreich ist, müssen Sie alle Sentinel-Konfigurationsdateien löschen und von vorne beginnen. Hinweis! ! Wenn dies nicht erfolgreich ist, müssen Sie alle Sentinel-Konfigurationsdateien löschen und von vorne beginnen. Hinweis! ! Wenn dies fehlschlägt, müssen Sie alle Sentinel-Konfigurationsdateien löschen und von vorne beginnen. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Mysql SQL-Anweisungskommentare
>>: Lernen Sie die wichtigsten Kenntnisse, die im Vue-Framework beherrscht werden müssen
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...
In der Datenbank führen sowohl die Schlüsselwörte...
Der gemeinsam genutzte Speicher von Nginx ist ein...
Verwenden Sie v-model, um das Paging-Informations...
brauchen: Normalerweise wollen Websites verhinder...
Inhaltsverzeichnis Geschäftslogik Datentabellenst...
Überprüfen Sie zuerst die Datei /etc/group: [root...
Inhaltsverzeichnis 1. Was ist JavaScript? 2. Wofü...
Bei der Arbeit benötigen wir häufig Remote-Server...
MySQL5.6 So erstellen Sie SSL-Dateien Offizielle ...
1. Docker-Netzwerkmodus Wenn Docker Run einen Doc...
Implementierungsmethode für die MySQL5.7-Master-S...
Vorwort Wir alle wissen, dass MySQL die Server-ID...
Nicht nur das Verhalten verschiedener Browser ist...
In diesem Artikel wird der spezifische Code des J...