Redis ist eine leistungsstarke Open-Source-In-Memory-Datenbank, die häufig in Szenarien wie Caching, Aufgabenwarteschlangen und Nachrichten-Middleware verwendet wird. Da Redis jedoch speicherbasiert arbeitet, führen ungewöhnliche Situationen wie Stromausfälle zu Datenverlust. Daher bietet Redis zwei Persistenzmechanismen, um die Sicherheit und Zuverlässigkeit der Daten zu gewährleisten.
RDB (Redis-Datenbank) ist die Standardpersistenzmethode von Redis. Wenn bestimmte Bedingungen erfüllt sind, schreibt Redis den Daten-Snapshot im Speicher in die RDB-Datei auf der Festplatte. Das Format der RDB-Datei ist binär und enthält alle Schlüssel-Wert-Paar-Informationen der Datenbank zum aktuellen Zeitpunkt.
Die Vorteile der RDB-Persistenz bestehen darin, dass sie wenig Platz beansprucht und Daten schnell wiederherstellen kann, da nur die RDB-Datei in den Speicher geladen werden muss.
Es gibt zwei Möglichkeiten, die RDB-Persistenz auszulösen:
1) Manueller Vorgang
Die Ausführung des SAVE- oder BGSAVE-Befehls auf dem Redis-Client kann ausgelöst werden Manuelle RDB-Persistenz. Der SAVE-Befehl blockiert den Redis-Server und kehrt erst zurück, wenn die RDB-Datei geschrieben wurde. BGSAVE ermöglicht es dem Redis-Server, RDB-Persistenzvorgänge im Hintergrund auszuführen, und blockiert nicht den normalen Dienst des Redis-Servers.
2) Automatische Auslösung
Konfigurieren Sie die automatischen Auslöseregeln von Redis und führen Sie automatisch RDB-Persistenzvorgänge aus, wenn die Regeln erfüllt sind. Es kann über die folgenden Einstellungen in der redis.conf-Datei konfiguriert werden:
save 900 1
save 300 10
save 60 10000
Die Einstellungen hier darstellen Wenn sich innerhalb von 900 Sekunden mindestens 1 Schlüssel-Wert-Paar ändert, sich innerhalb von 300 Sekunden mindestens 10 Schlüssel-Wert-Paare ändern und sich innerhalb von 60 Sekunden mindestens 10.000 Schlüssel-Wert-Paare ändern, wird der RDB-Persistenzvorgang ausgelöst. Beachten Sie, dass Redis RDB-Persistenzvorgänge in der festgelegten Reihenfolge ausführt, wenn mehrere Regeln festgelegt sind.
AOF-Persistenz (Append Only File) ist ein auf Anhängen basierender Persistenzmechanismus. Wenn Redis einen Befehl zum Ändern der Datenbank empfängt, wird dieser nicht nur ausgeführt, sondern auch an das Ende der AOF-Datei angehängt.
Der Vorteil der AOF-Persistenz besteht darin, dass die Daten sicherer sind, da jeder Vorgang zur Änderung der Datenbank in AOF aufgezeichnet wird, was einen minimalen Datenverlust gewährleistet und das Textformat in der AOF-Datei einfacher zu lesen ist und verstehen.
Es gibt zwei Möglichkeiten, die AOF-Persistenz auszulösen:
1) Manueller Vorgang
Das Ausführen des Befehls BGREWRITEAOF auf dem Redis-Client kann die AOF-Persistenz manuell auslösen ändern. Dieser Befehl führt den Umschreibvorgang der AOF-Datei im Hintergrund durch, zeichnet die von Redis ausgeführten Befehle erneut in der neuen AOF-Datei auf und behält nur die Befehle bei, die sich auf die Datenbank auswirken.
2) Automatische Auslösung
Sie können die Regeln automatisch über die Konfigurationseinstellungen in der Datei redis.conf auslösen. Wenn die Regeln erfüllt sind, wird die AOF-Datei automatisch neu geschrieben :
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
Die Einstellung hier bedeutet, dass bei der Größe des AOF Datei überschreitet 64 MB oder AOF wird neu geschrieben. Wenn die Größe der neuen AOF-Datei mehr als das 100-fache der Größe der vorhandenen AOF-Datei beträgt, wird das Neuschreiben der AOF-Datei ausgelöst.
Zusammenfassend haben RDB-Persistenz und AOF-Persistenz ihre eigenen Vor- und Nachteile und sollten entsprechend der tatsächlichen Situation ausgewählt und konfiguriert werden. Gleichzeitig ist zu beachten, dass bei Verwendung des Persistenzmechanismus auch Datensicherungs- und Wiederherstellungstests durchgeführt werden sollten, um die Datensicherheit zu gewährleisten.
Das obige ist der detaillierte Inhalt vonAnalyse des Redis-Persistenzmechanismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!