Redis bietet zwei Methoden der Datenpersistenz, nämlich RDB (Redis DataBase) und AOF (Apend Only File).
RDB-Methode
Die RDB-Methode ist eine Snapshot-Persistenzmethode, die Daten zu einem bestimmten Zeitpunkt auf der Festplatte speichert. (Empfohlenes Lernen: Redis-Video-Tutorial)
Während des Prozesses der Datenpersistenz schreibt Redis die Daten zunächst in eine temporäre Datei. Nach Abschluss des Persistenzprozesses wird diese temporäre Datei gespeichert Wird verwendet, um die letzte persistente Datei zu ersetzen. Dank dieser Funktion können wir jederzeit Backups durchführen, da die Snapshot-Datei immer vollständig verfügbar ist.
Für den RDB-Modus erstellt (fork) Redis einen Unterprozess separat für die Persistenz, und der Hauptprozess führt keine E/A-Vorgänge aus, wodurch die extrem hohe Leistung von Redis sichergestellt wird.
Wenn eine groß angelegte Datenwiederherstellung erforderlich ist und die Integrität der Datenwiederherstellung nicht sehr empfindlich ist, ist die RDB-Methode effizienter als die AOF-Methode.
AOF-Methode
Die AOF-Methode zeichnet die ausgeführten Schreibanweisungen auf und führt die Anweisungen dann während der Datenwiederherstellung der Reihe nach aus.
Der AOF-Befehl verwendet das Redis-Protokoll, um jeden Schreibvorgang am Ende der Datei anzuhängen und zu speichern. Redis kann AOF-Dateien auch im Hintergrund neu schreiben, sodass die Größe der AOF-Dateien nicht zu groß wird.
Die standardmäßige AOF-Persistenzstrategie besteht darin, einmal pro Sekunde zu fsyncen (fsync bezieht sich auf die Aufzeichnung der Schreibanweisungen im Cache auf der Festplatte), da Redis in diesem Fall immer noch eine gute Verarbeitungsleistung aufrechterhalten kann, selbst wenn Redis ausfällt gehen nur die Daten der letzten 1 Sekunde verloren.
Wenn beim Anhängen von Protokollen der Speicherplatz voll ist, der Inode voll ist oder der Strom ausfällt, was dazu führt, dass das Protokoll unvollständig geschrieben wird, spielt dies keine Rolle kann verwendet werden. Führen Sie eine Protokollreparatur durch.
Wenn keine Verarbeitung erfolgt, wird die AOF-Datei aufgrund der Append-Methode immer größer. Aus diesem Grund bietet Redis einen Mechanismus zum Umschreiben (Umschreiben) der AOF-Datei, d AOF-Datei Wenn der festgelegte Schwellenwert überschritten wird, startet Redis die Inhaltskomprimierung der AOF-Datei und behält dabei nur den minimalen Befehlssatz bei, der die Daten wiederherstellen kann.
Ein Beispiel ist vielleicht anschaulicher: Wenn wir die INCR-Anweisung 100 Mal aufrufen, werden 100 Anweisungen in der AOF-Datei gespeichert, aber das ist offensichtlich sehr ineffizient Dies ist das Prinzip des Umschreibmechanismus.
Beim Neuschreiben von AOF wird weiterhin der Prozess verwendet, zuerst temporäre Dateien zu schreiben und sie dann zu ersetzen, sodass Probleme wie Stromausfälle und volle Festplatten keinen Einfluss auf die Verfügbarkeit von AOF-Dateien haben.
Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Redis Getting Started Tutorial.
Das obige ist der detaillierte Inhalt vonWie Redis Datenpersistenz bewirkt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!