Redis bietet zwei Methoden für die Persistenz: eine ist die RDB-Persistenz (das Prinzip besteht darin, Reids-Datenbankdatensätze regelmäßig im Speicher in die RDB-Persistenz auf der Festplatte abzulegen) und die andere ist die AOF-Persistenz (nur Datei anhängen) (das Prinzip besteht darin, zu schreiben). Das Betriebsprotokoll von Reids wird der Datei als Anhang beigefügt.
RDB-Persistenz bezieht sich auf das Schreiben eines Snapshots des Datensatzes im Speicher innerhalb eines bestimmten Zeitintervalls. Der eigentliche Vorgang besteht darin, einen untergeordneten Prozess zu forken und ihn zuerst zu speichern Schreiben Sie eine temporäre Datei, nachdem der Schreibvorgang erfolgreich war. Ersetzen Sie die vorherige Datei und speichern Sie sie mit binärer Komprimierung. (Empfohlenes Lernen: Redis-Video-Tutorial)
Die AOF-Persistenz zeichnet alle vom Server verarbeiteten Schreib- und Löschvorgänge in Form eines Protokolls auf In Form von Text können Sie die Datei öffnen, um detaillierte Vorgangsaufzeichnungen anzuzeigen.
Der Unterschied zwischen RDB-Persistenz und AOF-Persistenz:
1 Daten speichern
RDB-Persistenz speichert alle Schlüssel-Wert-Paare im Schlüsselraum (. Einschließlich Daten in abgelaufenen Wörterbüchern) und werden in binärer Form gemäß den RDB-Dateispezifikationen gespeichert und je nach Datentyp unterschiedlich verarbeitet.
AOF speichert dauerhaft alle vom Redis-Server ausgeführten Schreibbefehle, um den Datenbankstatus aufzuzeichnen. Die Befehle werden vor dem Schreiben im aof_buf-Puffer gespeichert.
2. Auswahl der Persistenzzeit
RDB-Persistenz legt das Persistenzverhalten (Anzahl der Änderungen pro Zeiteinheit) über die Speicheroption von conf fest.
AOF-Persistenz legt das Persistenzverhalten (Anzahl der Änderungen pro Zeiteinheit) über die appendfsync-Option von conf fest.
3. Datenwiederherstellung
RDB-Persistenz: Der Server lädt die RDB-Datei, blockiert den Thread und akzeptiert keine Befehle, bis der Ladevorgang abgeschlossen ist.
AOF-Persistenz: Der Server erstellt einen Pseudo-Client ohne Netzwerkverbindung, liest alle Befehle in der AOF-Datei und führt sie aus (der Redis-Dienst wählt die AOF-Datei aus, um den Datenbankstatus wiederherzustellen, wenn der Redis-Dienst aktiviert wird aof Persistenz)
4. Abgelaufene Schlüssel
RDB-Persistenz ignoriert abgelaufene Schlüssel beim Schreiben oder Lesen
AOF-Persistenz ignoriert abgelaufene Schlüssel nicht, wenn Schlüssel träge gelöscht werden Oder fügen Sie a hinzu Löschbefehl für die AOF-Datei beim regelmäßigen Löschen
5. Dateigröße
RDB-Persistenz ändert sich mit der Menge der gespeicherten Daten (es gibt unterschiedliche Datenkomprimierungsoptimierungen je nach Datentyp))
Die AOF-Persistenz steigt mit der Anzahl der ausgeführten Befehle (optimiert durch AOF-Umschreiben)
Weitere Redis-bezogene technische Kenntnisse finden Sie unter Tutorial zur Redis-NutzungSpaltenlernen!
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den beiden Persistenzmethoden von Redis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!