Redis ist eine leistungsstarke In-Memory-Datenbank, deren Vorteile im schnellen Datenlesen und hohen Parallelitätsfähigkeiten liegen. Da jedoch alle Daten im Speicher gespeichert sind, gehen die Daten verloren, sobald der Server abstürzt oder ausfällt. Um diese Situation zu vermeiden, bietet Redis eine persistente Speicherfunktion, um die Daten im Speicher bei Bedarf zur Datenwiederherstellung auf die Festplatte zu schreiben.
Redis verfügt über zwei Persistenzmethoden: RDB-Snapshot und AOF-Protokoll. Im Folgenden werden die Implementierung, Vor- und Nachteile sowie Anwendungsszenarien dieser beiden Methoden erläutert.
RDB-Snapshot ist ein Snapshot-Speichermechanismus von Redis. Er speichert die Daten im Redis-Speicher innerhalb eines bestimmten Zeitintervalls auf der Festplatte und generiert eine RDB-Datei. Bei dieser Datei handelt es sich um eine Binärdatei, die Schlüssel-Wert-Paare für alle Datenbanken enthält. Bei der Datenwiederherstellung müssen Sie die Datei nur in den Redis-Speicher laden.
Vorteile:
(1) Beansprucht wenig Platz, bewahrt die Datenintegrität und spart Speicherplatz.
(2) Die Datenwiederherstellungszeit ist kurz und die Wiederherstellung von RDB-Dateien ist schneller als die Wiedergabe von AOF-Protokollen.
Nachteile:
(1) Die Daten der RDB-Datei werden nur einmal innerhalb des angegebenen Zeitintervalls gespeichert. Wenn Redis während der regulären Speicherzeit ausfällt, kommt es zu Datenverlust.
(2) Die Echtzeitfähigkeit der Daten in RDB-Dateien ist nicht hoch. Wenn sie in zu langen Abständen gespeichert werden, führt dies zu Dateninkonsistenzproblemen für das Unternehmen.
Anwendbare Szenarien:
Es eignet sich besser für Geschäftsszenarien mit großen Datenmengen und geringer Lese- und Schreibhäufigkeit, wie z. B. soziale Anwendungen, E-Commerce-Anwendungen usw.
AOF steht für Append-Only File, eine weitere Persistenzmethode von Redis. Das AOF-Protokoll generiert einen Protokolldatensatz für jeden Vorgang basierend auf Redis. Bei der Datenwiederherstellung müssen Sie diese Vorgänge nur erneut ausführen.
Vorteile:
(1) AOF kann nahezu keinen Datenverlust erreichen, und selbst wenn ungewöhnliche Situationen wie Ausfallzeiten oder Stromausfälle auftreten, kann die Integrität der Daten so weit wie möglich gewährleistet werden.
(2) AOF zeichnet jeden Vorgang in Echtzeit auf, die Daten sind in hohem Maße in Echtzeit und die Protokollgröße und Aufzeichnungshäufigkeit können gesteuert werden.
Nachteile:
(1) AOF-Dateien sind relativ groß und beanspruchen möglicherweise mehr Speicherplatz.
(2) AOF-Protokolldateien müssen von Zeit zu Zeit neu geschrieben werden, was ebenfalls zu einer Leistungsbelastung führt.
Anwendbare Szenarien:
Geeignet für Anwendungsszenarien, die eine hohe Datenintegrität erfordern, wie z. B. die Finanzindustrie, die Pharmaindustrie usw.
Redis bietet zwei häufig verwendete Sicherungsbefehle: BGSAVE und SAVE.
BGSAVE speichert Snapshots im Hintergrund und generiert RDB-Dateien, die den Redis-Lese- und Schreibdienst nicht blockieren. Daher kann es leicht von konzentrierten Stürmen ausgenutzt werden, was dazu führt, dass der Redis-Dienst nicht verfügbar ist und daher verwendet werden muss Vorsicht.
SAVE blockiert alle Redis-Anfragen, während Redis den Snapshot speichert und die RDB-Datei generiert. Es werden keine weiteren Anfragen empfangen, bis die RDB-Datei erfolgreich generiert wurde. Bei großem Datenvolumen oder hoher Speicherauslastung kann dieser Befehl dazu führen, dass der Dienst für längere Zeit blockiert wird.
Die Möglichkeit, Daten wiederherzustellen, ist ebenfalls sehr einfach. Die RDB-Datei wird beim Start von Redis automatisch zur Wiederherstellung gelesen. Bei Bedarf können Sie den Befehl auch manuell ausführen, um das AOF-Protokoll erneut auszuführen und alle Daten wiederherzustellen.
Zusammenfassung:
Wie die geeignete Persistenzmethode ausgewählt wird, hängt vom spezifischen Anwendungsszenario und den Geschäftsanforderungen ab. Wenn Sie hohe Anforderungen an die Datenintegrität haben, können Sie der Verwendung der AOF-Protokollmethode Vorrang einräumen. Wenn die Anwendung nicht auf Echtzeitdaten reagiert, können Sie die RDB-Snapshot-Methode verwenden und auch die beiden Persistenzmethoden verwenden bessere Erholungsergebnisse erzielen. Gleichzeitig ist die regelmäßige Sicherung und Wiederherstellung von Daten eines der wichtigen Mittel zur Gewährleistung der Datensicherheit.
Das obige ist der detaillierte Inhalt vonPermanente Sicherung und Wiederherstellung von Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!