Mindmap-Galerie Redis
Dies ist eine Mindmap über Redis. Die Hauptinhalte umfassen: 8. Redis-Persistenz, 7. Redis-Transaktionen, 6. Veröffentlichen und Abonnieren, 2. Startup, 1. Redis 7.0 installieren, 5. Redis-Konfigurationsdatei, 4. Redis-Daten Typ, 3. Befehle im Zusammenhang mit Redis-Schlüsseln.
Bearbeitet um 2024-03-28 15:31:48Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Redis
1. Installieren Sie Redis7.0
1. Laden Sie es herunter und legen Sie es im Opt-Verzeichnis ab
https://redis.io/download/
2. Entpacken; in das opt-Verzeichnis
tar -zxvf redis-7.0.0.tar.gz
Nach der Dekompression
3. Geben Sie das Verzeichnis redis-7.0.11 ein
Installieren Sie gcc
Lecker, installiere gcc-c
machen
make installieren
Bildschirmfoto
4. Standardinstallationsverzeichnis
/usr/local/bin
/usr/local unter Linux ähnelt C:\Programme in unserem Windows-System
Überprüfen
redis-benchmark: Leistungstesttool. Führen Sie diesen Befehl aus, nachdem der Dienst gestartet wurde, um die Leistung Ihres Notebooks zu überprüfen.
redis-check-aof: Problematische AOF-Dateien reparieren
redis-check-dump: Problematische Datei dump.rdb beheben
redis-cli: Client, Operationseingang
redis-sentinel: Wird vom Redis-Cluster verwendet
redis-server: Redis-Server-Startbefehl
5. Ändern Sie die Konfigurationsdatei redis.conf
2. Starten
Geben Sie das Redis-Standardinstallationsverzeichnis ein
redis-server: Redis-Server-Startbefehl
redis-cli: Client, Operationseingang
Wenn ein Passwort festgelegt ist: Auth-Passwort
Beginnen Sie im Hintergrund
Sichern Sie Redis.conf
Nein zu Ja verteufeln
[root@ecs-353138 redis-7.0.0]# redis-server ./redis.conf
Um Redis zu starten, müssen Sie eine Konfigurationsdatei angeben. Es gibt keine explizite Konfigurationsdatei. Tatsächlich liest Redis standardmäßig die interne Konfigurationsdatei und nicht redis.conf.
Schließung
Herunterfahren einer einzelnen Instanz: redis-cli -a Passwort herunterfahren
Herunterfahren mehrerer Instanzen: Geben Sie das Herunterfahren des Ports an: redis-cli -p 6379 Herunterfahren
Deinstallieren Sie Redis
1. Stoppen Sie den Redis-Dienst
2. Löschen Sie Redis-bezogene Dateien im Verzeichnis /usr/local/lib
3. Redis-Tastenbezogene Befehle
Schlüssel *
Alle Schlüssel in der aktuellen Bibliothek anzeigen
existiert Schlüssel
Stellen Sie fest, ob ein bestimmter Schlüssel vorhanden ist
Geben Sie den Schlüssel ein
Überprüfen Sie, um welchen Typ es sich bei Ihrem Schlüssel handelt
Entf-Taste
Angegebene Eckdaten löschen
Verknüpfungsschlüssel aufheben
Wählen Sie nicht blockierendes Löschen basierend auf dem Wert aus
Der Redis UNLINK-Befehl ist dem DEL-Befehl sehr ähnlich: Er wird zum Löschen des angegebenen Schlüssels verwendet. Genau wie bei DEL wird der Schlüssel ignoriert, wenn er nicht vorhanden ist. Allerdings führt dieser Befehl die eigentliche Speicherrückgewinnung in einem Thread außerhalb des Befehls durch, sodass er im Gegensatz zu DEL nicht blockiert. Daher kommt auch der Befehlsname: Der UNLINK-Befehl trennt einfach einen Schlüssel vom Schlüsselraum. Die eigentliche Löschung erfolgt später asynchron.
Ablaufschlüssel 10
10 Sekunden, legen Sie die Ablaufzeit für den angegebenen Schlüssel fest
TTL-Taste
Überprüfen Sie, wie viele Sekunden noch ablaufen. -1 bedeutet, dass es nie abläuft, und -2 bedeutet, dass es abgelaufen ist.
Wählen Sie 0
Datenbank wechseln
verkleinern
Zeigen Sie die Anzahl der Schlüssel in der aktuellen Datenbank an
Flushdb
Aktuelle Bibliothek löschen
bündig
Töte alle Bibliotheken
4. Redis-Datentyp
Fünf grundlegende Datentypen
Zeichenfolge
Einführung
String ist der grundlegendste Typ von Redis und ein Schlüssel entspricht einem Wert. Der String-Typ ist binärsicher. Das bedeutet, dass der Redis-String beliebige Daten enthalten kann. Zum Beispiel JPG-Bilder oder serialisierte Objekte. Ein Zeichenfolgenwert in Redis kann bis zu 512 M betragen.
Allgemeine Befehle
Schlüsselwert NX festlegen
NX: Wenn der Schlüssel nicht in der Datenbank vorhanden ist, können Sie den Schlüsselwert zur Datenbank hinzufügen XX: Wenn der Schlüssel in der Datenbank vorhanden ist, kann der Datenbank ein Schlüsselwert hinzugefügt werden, der sich mit NX-Parametern gegenseitig ausschließt. BEISPIEL: Schlüssel-Timeout-Sekunden PX: Schlüssel-Timeout in Millisekunden, schließt sich gegenseitig mit EX aus
Fügen Sie Schlüssel-Wert-Paare hinzu
Schlüssel holen
Fragen Sie den entsprechenden Schlüsselwert ab
Schlüsselwert anhängen
Hängt den angegebenen Wert an das Ende des ursprünglichen Werts an
Strlen-Taste
Ermitteln Sie die Länge des Werts
setnx-Schlüsselwert
Legen Sie den Wert des Schlüssels nur fest, wenn der Schlüssel nicht vorhanden ist
Incr-Taste
Erhöhen Sie den im Schlüssel gespeicherten numerischen Wert um 1
Decr-Taste
Dekrementieren Sie den im Schlüssel gespeicherten numerischen Wert um 1
Kann nur mit numerischen Werten arbeiten. Wenn es leer ist, ist der neue Wert 1 oder -1.
Schrittgröße der Incrby-/Decrby-Taste
Erhöhen oder verringern Sie den in der Taste gespeicherten numerischen Wert. Benutzerdefinierte Schrittgröße
mset Schlüssel1 Wert1 Schlüssel2 Wert2
Legen Sie ein oder mehrere Schlüssel-Wert-Paare gleichzeitig fest
mget Schlüssel1 Schlüssel2
Erhalten Sie einen oder mehrere Werte gleichzeitig
msetnx Schlüssel1 Wert1 Schlüssel2 Wert2
Atomarität: Wenn einer versagt, versagen alle.
Legen Sie genau dann ein oder mehrere Schlüssel-Wert-Paare gleichzeitig fest, wenn nicht alle angegebenen Schlüssel vorhanden sind
getrange-Taste Startposition Endposition
Rufen Sie den Wertebereich ab, ähnlich dem Teilstring in Java, vorderes Paket, hinteres Paket
Startpositionswert der Setrange-Taste
Überschreiben Sie den im Schlüssel gespeicherten Zeichenfolgenwert mit dem Wert, beginnend an der Startposition (Index beginnt bei 0).
Wert für die Ablaufzeit des Setex-Schlüssels
Legen Sie beim Festlegen des Schlüsselwerts die Ablaufzeit in Sekunden fest.
getset-Schlüsselwert
Altes durch neues ersetzen, neuen Wert festlegen und gleichzeitig alten Wert erhalten
Datenstruktur
Die Datenstruktur von String ist Simple Dynamic String (SDS).
Liste
Einführung
Mehrere Werte mit einem Schlüssel, sortiert in Einfügereihenfolge. Sie können ein Element am Kopf (links) oder am Ende (rechts) der Liste hinzufügen.
Allgemeine Befehle
lpush / rpush-Taste Wert1 Wert2
Fügen Sie einen oder mehrere Werte von links/rechts ein
lpop/rpop
Einen Wert von links/rechts ausspucken. Der Wert ist im Schlüssel, und der Wert ist im Schlüssel.
rpoplpush key1 key2
spucken Sie einen Wert von der rechten Seite der Liste „key1“ aus und fügen Sie ihn auf der linken Seite der Liste „key2“ ein
Lrange-Taste Start Stop
lrange alter 0 -1 bedeutet, alles zu bekommen
Elemente gemäß Indexindex abrufen (von links nach rechts)
Lindex-Schlüsselindex
Elemente gemäß Indexindex abrufen (von links nach rechts)
llen-Schlüssel
Listenlänge ermitteln
Linset-Schlüssel vor Wert neuer Wert
Fügen Sie den Wert von newvalue vor value ein
Wert des lrem-Schlüssels n
N Werte von links löschen (von links nach rechts)
lset-Schlüsselindexwert
Ersetzen Sie den Wert, dessen Index im Listenschlüssel der Index ist, durch den Wert
Datenstruktur
① Die Datenstruktur von List ist QuickList. ② Erstens wird bei kleinen Listenelementen ein kontinuierlicher Speicher verwendet. Diese Struktur ist eine Ziplist, bei der es sich um eine komprimierte Liste handelt. ③ Wenn die Datenmenge relativ groß ist, wird sie in eine Schnellliste geändert.
Satz
Einführung
Automatische Deduplizierung und Set sind ungeordnete Sammlungen vom Typ String. Die unterste Ebene ist eine Hash-Tabelle mit einem leeren Wert. Die Komplexität des Hinzufügens, Löschens und Abfragens beträgt O(1).
Allgemeine Befehle
Fügen Sie den Schlüsselwert1 und den Wert2 hinzu
Fügen Sie dem Sammlungsschlüssel ein oder mehrere Mitgliedselemente hinzu. Vorhandene Mitgliedselemente werden ignoriert.
Smembers-Schlüssel
Holen Sie sich alle Werte aus der Menge
sismember-Schlüsselwert
Bestimmen Sie, ob der festgelegte Schlüssel den Wert enthält. Es gibt 1 und keine 0
Scard-Schlüssel
Gibt die Anzahl der Elemente in der Sammlung zurück
SREM-Alter Wert1 Wert2
Löschen Sie ein Element aus der Sammlung
Spop-Taste
spucke einen zufälligen Wert aus der Sammlung aus
srandmember key n
Nehmen Sie zufällig n Werte aus dieser Menge. wird nicht aus der Sammlung entfernt
Quell-Zielwert verschieben
Verschieben Sie einen Wert in einer Sammlung von einer Sammlung in eine andere
Sinterschlüssel1 Schlüssel2
Gibt das Schnittelement zweier Sammlungen zurück
Sunion Schlüssel1 Schlüssel2
Gibt die Unionselemente zweier Sammlungen zurück
Sdiff-Schlüssel1 Schlüssel2
Gibt die Differenzelemente der beiden Mengen zurück (die in Schlüssel1, ausgenommen die in Schlüssel2)
Datenstruktur
① Die Set-Datenstruktur ist ein Diktierwörterbuch, und das Wörterbuch wird mithilfe einer Hash-Tabelle implementiert. ② Die interne Implementierung von HashSet in Java verwendet HashMap, aber alle Werte verweisen auf dasselbe Objekt. Das Gleiche gilt für die Set-Struktur von Redis. Es verwendet auch intern eine Hash-Struktur und alle Werte verweisen auf denselben internen Wert.
Hash
Einführung
Redis-Hash ist eine Sammlung von Schlüssel-Wert-Paaren, eine Zuordnungstabelle von Feldern und Werten vom Typ Zeichenfolge. Hash eignet sich besonders zum Speichern von Objekten.
Allgemeine Befehle
hset-Schlüsselfeldwert
Weisen Sie dem Feldschlüssel in der Schlüsselsammlung einen Wert zu
hget-Schlüsselfeld
Rufen Sie den Wert aus dem Sammlungsfeld „key1“ ab
hmset key1 field1 value1 field2 value2
Legen Sie Hash-Werte stapelweise fest
Hexists-Schlüsselfeld
Überprüfen Sie, ob das angegebene Feld field im Hash-Tabellenschlüssel vorhanden ist
hkeys-Schlüssel
Listen Sie alle Felder dieses Hash-Sets auf
hvals-Schlüssel
Listen Sie alle Werte des Hash-Sets auf
Hincrby-Schlüsselfeldinkrement
Addieren Sie das Inkrement 1 -1 zum Wert des Felds field im Hash-Tabellenschlüssel
hsetnx-Schlüsselfeldwert
Setzen Sie den Wert des Felds field im Hash-Tabellenschlüssel genau dann auf value, wenn das Feld field nicht vorhanden ist
Datenstruktur
Es gibt zwei Datenstrukturen, die dem Hash-Typ entsprechen: ziplist (komprimierte Liste) und hashtable (Hash-Tabelle). Wenn die Feldwertlänge kurz und die Anzahl klein ist, verwenden Sie ziplist, andernfalls verwenden Sie hashtable
zset (geordnete Menge)
Einführung
zset ist einer gewöhnlichen Menge sehr ähnlich. Es handelt sich um eine Zeichenfolgensammlung ohne wiederholte Elemente. Der Unterschied besteht darin, dass jedem Mitglied der geordneten Menge eine Punktzahl zugeordnet ist wird durch die höchste Punktzahl bestimmt. Die Mitglieder des Sets sind einzigartig, die Partituren können jedoch wiederholt werden
Allgemeine Befehle
Zadd-Taste Score1 Wert1 Score2 Wert2
Fügen Sie dem geordneten Satzschlüssel ein oder mehrere Mitgliedselemente und deren Bewertungswerte hinzu
zrange-Taste Start Stopp [WITHSCORES]
Gibt die Elemente im geordneten Mengenschlüssel zurück, deren Indizes zwischen Start und Stopp liegen. Mit WITHSCORES können die Scores und Werte an die Ergebnismenge zurückgegeben werden.
zrangebyscore Schlüssel min max
Gibt alle Mitglieder des sortierten Mengenschlüssels zurück, deren Bewertungswert zwischen Min und Max liegt (einschließlich gleich Min oder Max). Die Mitglieder der geordneten Menge werden in der Reihenfolge steigender Punktewerte (von klein nach groß) angeordnet.
zrevrangebyscore Schlüssel max. min
Ändern Sie die Sortierung vom größten zum kleinsten
Zincrby-Schlüsselinkrementwert
Fügen Sie eine Erhöhung zur Bewertung des Elements hinzu
zrem-Schlüsselwert
Löschen Sie das Element mit dem angegebenen Wert in der Sammlung
zcount-Taste min max
Zählen Sie die Menge, die Anzahl der Elemente im Bruchintervall
Zrank-Schlüsselwert
Gibt den Rang des Werts in der Menge zurück, beginnend bei 0
Datenstruktur
Hash, die Funktion von Hash besteht darin, Elementwert und Gewichtsbewertung zuzuordnen, um die Eindeutigkeit des Elementwerts sicherzustellen. Der entsprechende Bewertungswert kann über den Elementwert ermittelt werden.
Der Zweck der Sprungliste besteht darin, die Elementwerte zu sortieren und die Elementliste entsprechend dem Bewertungsbereich zu erhalten.
Drei erweiterte Datentypen
Bitmaps
Bitmaps selbst sind kein Datentyp, sondern eine Zeichenfolge (Schlüsselwert), können jedoch mit den Bits der Zeichenfolge operieren.
HyperLogLog
Redis HyperLogLog ist ein Algorithmus für Kardinalitätsstatistiken. Der Vorteil von HyperLogLog besteht darin, dass bei sehr großer Anzahl oder Menge an Eingabeelementen der für die Berechnung der Kardinalität benötigte Platz immer fest und sehr klein ist.
Geodaten
GEO: Geografisch, die Abkürzung für geografische Informationen. Bei diesem Typ handelt es sich um die zweidimensionalen Koordinaten des Elements, bei denen es sich um den Breiten- und Längengrad auf der Karte handelt. Basierend auf diesem Typ bietet Redis allgemeine Vorgänge wie Längen- und Breitengradeinstellung, Abfrage, Bereichsabfrage, Entfernungsabfrage, Längen- und Breitengrad-Hash usw.
5. Redis-Konfigurationsdatei
Netzwerkbezogene Konfiguration
binden
Standardmäßig kann bind=127.0.0.1 nur Zugriffsanfragen von diesem Computer akzeptieren.
Sicherheitsmodus
Stellen Sie den lokalen Zugriffsschutzmodus auf „Nein“.
Hafen
Port, Standard 6379
Auszeit
Wie viele Sekunden dauert es, bis ein inaktiver Client heruntergefahren wird? 0 bedeutet, dass diese Funktion deaktiviert ist. d.h. niemals schließen
tcp-keepalive
Wenn die Einheit auf 0 eingestellt ist, wird die Keepalive-Erkennung nicht durchgeführt. Es wird empfohlen, sie auf 60 einzustellen.
Eine Heartbeat-Erkennung für den Zugriff auf Clients, einmal alle n Sekunden
ALLGEMEINESallgemein
dämonisieren
Ob es sich um einen (Daemon-)Hintergrundprozess handelt, wird auf „Ja“ gesetzt
PID-Datei
Der Speicherort der PID-Datei. Jede Instanz generiert eine andere PID-Datei.
Loglevel
Wählen Sie für die Produktionsumgebung „Hinweis“ oder „Warnung“.
Geben Sie die Protokollierungsebene an. Redis unterstützt insgesamt vier Ebenen: Debug, Verbose, Notice und Warning.
Logdatei
Name der Protokolldatei
Datenbanken 16
Legen Sie die Anzahl der Bibliotheken fest. Der Standardwert ist 16. Die Standarddatenbank ist 0. Sie können den Befehl SELECT <dbid> verwenden, um die Datenbank-ID für die Verbindung anzugeben.
SICHERHEITSicherheit
Passwort festlegen
GRENZENGrenzen
maxclients
Legen Sie fest, mit wie vielen Clients Redis gleichzeitig eine Verbindung herstellen kann
Der Standardwert ist 10.000 Clients
Wenn dieses Limit erreicht ist, lehnt Redis neue Verbindungsanfragen ab und antwortet diesen Verbindungsanfragern mit „maximale Anzahl an Clients erreicht“.
maxmemory
maxmemory-policy
maxmemory-samples
6. Veröffentlichen und abonnieren
Was sind Publish und Subscribe?
Redis Publish and Subscribe (Pub/Sub) ist ein Nachrichtenkommunikationsmodell: Der Absender (Pub) sendet Nachrichten und die Abonnenten (Sub) empfangen Nachrichten.
Der Kunde abonniert den Kanal
Wenn eine Nachricht auf diesem Kanal veröffentlicht wird, wird die Nachricht an den abonnierten Client gesendet
Befehlsimplementierung
Öffnen Sie einen Client, um Kanal1 zu abonnieren
Abonnieren Sie Kanal1
Öffnen Sie einen anderen Client und veröffentlichen Sie die Nachricht „Hallo“ auf Kanal1
Kanal 1 veröffentlichen Hallo
Die zurückgegebene 2 ist die Anzahl der Abonnements
7. Redis-Transaktionen
1. Definition
Eine Redis-Transaktion ist eine einzelne isolierte Operation: Alle Befehle in der Transaktion werden serialisiert und der Reihe nach ausgeführt. Während der Ausführung der Transaktion wird diese nicht durch Befehlsanfragen anderer Clients unterbrochen.
Die Hauptfunktion von Redis-Transaktionen besteht darin, mehrere Befehle hintereinander zu schalten, um zu verhindern, dass andere Befehle in die Warteschlange springen.
2. Multi, Exec, verwerfen
① Beginnend mit der Eingabe des Multi-Befehls werden die eingegebenen Befehle nacheinander in die Befehlswarteschlange eingegeben, aber erst nach Eingabe von Exec ausgeführt, und Redis führt die Befehle in der vorherigen Befehlswarteschlange nacheinander aus. ② Während des Teambildungsprozesses können Sie die Teambildung abbrechen, indem Sie sie verwerfen.
Teambildung erfolgreich, Einreichung erfolgreich
Während der Teambildungsphase wurde ein Fehler gemeldet und die Einreichung ist fehlgeschlagen.
Die Teambildung war erfolgreich und die Einreichung war erfolgreich oder fehlgeschlagen.
3. Behandlung von Transaktionsfehlern
Wenn ein Befehl in der Warteschlange einen Fehler meldet, werden alle Warteschlangen während der Ausführung abgebrochen.
Wenn während der Ausführungsphase für einen Befehl ein Fehler gemeldet wird, wird nur der Befehl, der den Fehler gemeldet hat, nicht ausgeführt und andere Befehle werden ohne Rollback ausgeführt.
4. Drei Merkmale von Redis-Transaktionen
separate Quarantäneoperationen
Alle Befehle in einer Transaktion werden serialisiert und nacheinander ausgeführt. Während der Ausführung der Transaktion wird diese nicht durch Befehlsanfragen anderer Clients unterbrochen.
Kein Konzept der Isolationsstufe
Die Befehle in der Warteschlange werden erst dann tatsächlich ausgeführt, wenn sie übermittelt werden, da keine Anweisungen tatsächlich ausgeführt werden, bevor die Transaktion übermittelt wird.
Keine Garantie für Atomizität
Wenn ein Befehl in der Transaktion nicht ausgeführt werden kann, werden nachfolgende Befehle trotzdem ohne Rollback ausgeführt.
8. Redis-Persistenz
RDB (Redis-Datenbank)
Was ist es?
Schreiben Sie innerhalb eines bestimmten Zeitintervalls einen Snapshot des im Speicher befindlichen Datensatzes auf die Festplatte. Beim Wiederherstellen wird die Snapshot-Datei direkt in den Speicher eingelesen.
Wie die Sicherung durchgeführt wird
Redis erstellt (fork) einen separaten untergeordneten Prozess für die Persistenz. Er schreibt die Daten zunächst in eine temporäre Datei. Nach Abschluss des Persistenzprozesses wird diese temporäre Datei verwendet, um die letzte persistente Datei zu ersetzen. Während des gesamten Prozesses führt der Hauptprozess keine E/A-Vorgänge aus, was eine extrem hohe Leistung gewährleistet. Wenn eine Datenwiederherstellung in großem Maßstab erforderlich ist und die Integrität der Datenwiederherstellung nicht sehr empfindlich ist, ist die RDB-Methode effizienter als die AOF-Methode . von hoher Effizienz. Der Nachteil von RDB besteht darin, dass Daten nach der letzten Persistenz verloren gehen können.
Gabel
Die Funktion von Fork besteht darin, einen Prozess zu kopieren, der mit dem aktuellen Prozess identisch ist. Alle Daten (Variablen, Umgebungsvariablen, Programmzähler usw.) des neuen Prozesses haben die gleichen Werte wie der ursprüngliche Prozess, es handelt sich jedoch um einen völlig neuen Prozess und dient als untergeordneter Prozess des ursprünglichen Prozesses.
In einem Linux-Programm generiert fork() einen untergeordneten Prozess, der genau dem übergeordneten Prozess entspricht, aber der untergeordnete Prozess führt danach häufig Exec-Systemaufrufe aus. Aus Effizienzgründen hat Linux die „Copy-on-Write-Technologie“ eingeführt.
Im Allgemeinen teilen sich der übergeordnete Prozess und der untergeordnete Prozess dasselbe Segment des physischen Speichers. Nur wenn sich der Inhalt jedes Segments im Prozessraum ändert, wird der Inhalt des übergeordneten Prozesses in den untergeordneten Prozess kopiert.
dump.rdb-Datei
Konfigurieren Sie den Dateinamen in redis.conf. Der Standardwert ist dump.rdb
Vorteil
Geeignet für die Wiederherstellung großer Datenmengen
Es eignet sich besser für den Einsatz, wenn die Anforderungen an Datenintegrität und -konsistenz nicht hoch sind.
Sparen Sie Speicherplatz
Schnelle Erholung
unzureichend
In einem bestimmten Intervall während des Sicherungszyklus wird ein Backup erstellt. Wenn Redis also unerwartet ausfällt, gehen alle Änderungen nach dem letzten Snapshot verloren.
Zusammenfassen
AOF (Nur Datei anhängen)
Was ist es?
Zeichnen Sie jeden Schreibvorgang in Form eines Protokolls auf (inkrementelles Speichern), zeichnen Sie alle von Redis ausgeführten Schreibanweisungen auf (Lesevorgänge werden nicht aufgezeichnet), nur Dateien können angehängt, aber nicht neu geschrieben werden, und Redis liest zu Beginn. Diese Datei rekonstruiert die Mit anderen Worten: Wenn Redis neu gestartet wird, werden die Schreibanweisungen basierend auf dem Inhalt der Protokolldatei von vorne nach hinten ausgeführt, um die Datenwiederherstellungsarbeiten abzuschließen.
AOF-Persistenzprozess
AOF ist standardmäßig nicht aktiviert
AOF und RDB sind gleichzeitig aktiviert. Auf wen hört Redis?
AOF und RDB sind gleichzeitig aktiviert und das System übernimmt standardmäßig die AOF-Daten (Daten gehen nicht verloren).
Vorteil
Der Sicherungsmechanismus ist robuster und die Wahrscheinlichkeit eines Datenverlusts ist geringer
unzureichend
Benötigt mehr Speicherplatz als RDB
Das Wiederherstellen von Backups ist langsamer.
Zusammenfassen