❝Wissenspunkte in diesem Artikel Abgelaufenes Datenkonzept Richtlinie zur Datenlöschung Räumungsalgorithmus
❞
❝Kaka hat eine Roadmap zusammengestellt und einen Interviewleitfaden erstellt, um das Schreiben von Artikeln gemäß einer solchen Roadmap vorzubereiten, stellte jedoch später fest, dass es keinen Zusatz gab Wissenspunkte werden hinzugefügt. Ich freue mich auch darauf, dass Ihre Partner mithelfen, einige Informationen hinzuzufügen. Wir sehen uns im Kommentarbereich!
❞
Schauen Sie sich zunächst die drei Schlüsselwerte an, nämlich Geschlecht, Name und Alter.
Die Anweisungen zum Festlegen dieser drei Werte lauten: break- all; color: rgba(59, 170, 0.1); padding: 0px 2px; line-height: 22px; >Setname Kaka Setex Alter 100 24 Setex Sex 10 1set name kaka setex age 100 24 setex sex 10 1
在redis中我们可以使用ttl来获取某个key的状态,下面我们来使用ttl
setex age 1000 24
, der die verbleibende Gültigkeitsdauer darstellt. Die geplante Löschung besteht darin, einen Timer zu schreiben. Wenn die Schlüsselzeit abläuft, löscht die Timer-Aufgabe den abgelaufenen Schlüssel sofort.
Vorteile: Sie können sich die Ankunft des Schlüssels vorstellen Löschen so schnell wie möglich, was definitiv am speicherfreundlichsten ist und Speicher spart
Nachteile: Die Single-Threaded-Funktion von Redis besteht darin, dass alle Befehle in einer bestimmten Reihenfolge ausgeführt werden. Wenn der Schlüsselwert nach Ablauf gelöscht wird, wird die CPU stärker belastet, was sich direkt auf die Reaktionszeit und die E/A des Redis-Servers auswirkt. Geplantes Löschen bedeutet, dass Zeit im Austausch gegen Speicherplatz verwendet wird
Nachdem der geplante Löschvorgang abgeschlossen ist, werden die dem Schlüsselwert entsprechenden Daten gelöscht und der abgelaufene Speicherbereich wird ebenfalls direkt gelöscht.
Sehen Sie sich dieses Bild an. Wenn der Schlüsselwert abläuft, wird er nicht direkt gelöscht. Lesen Sie weiter
Wenn wir das verzögerte Löschen verwenden, werden die Daten nach Ablauf nicht automatisch gelöscht. Die Löschmethode besteht darin, dass beim nächsten Abrufen des Schlüsselwerts eine Beurteilung vorgenommen wird, um festzustellen, ob der Schlüssel abgelaufen ist. Wenn es abläuft, löschen Sie es.
Das heißt, wenn get name erneut ausgeführt wird, wird eine Funktion ausgeführtexpirelfNeeded()
Diese Funktion dient dazu, festzustellen, ob der Schlüssel abgelaufen ist. Abgelaufene geben Null zurück und löschen sie dann aus dem Speicher.
Vorteile: Dadurch wird ein gewisses Maß an CPU-Leistung verringert und es wird nur gelöscht, wenn es gelöscht werden muss.
Nachteile: Es muss an hoher Speicherauslastung liegen. Zum Beispiel einige heiße Nachrichten. Nachdem der Hotspot vorbei ist, wird fast niemand darauf zugreifen. Wenn niemand auf den Schlüssel zugreift, wird er für eine lange Zeit einen bestimmten Speicherplatz beanspruchen Methode besteht darin, Speicherplatz gegen Zeit einzutauschen.
Wir haben oben zwei Löschmethoden erwähnt, eine ist das geplante Löschen und die andere ist das verzögerte Löschen. Eine besteht darin, Raum gegen Zeit einzutauschen. Eine besteht darin, Zeit gegen Raum einzutauschen. Beide Optionen sind relativ extreme Methoden. Dann werfen wir einen Blick auf den Umsetzungsplan für die regelmäßige Löschung.Implementierungsmethode
Wenn Redis startet, liest es den Hz-Wert unter dem Server, der Standardwert ist 10. Dieser Wert kann direkt über das Terminal angezeigt werdeninfo server
Dann wird der Server Hz-mal pro Sekunde ausgeführt, um serverCron()-Abfragen durchzuführen
Verwenden Sie weiterhin DatenbankenCron, um nacheinander auf die Informationen der 16 Redis-Bibliotheken zuzugreifen
Beim Zugriff auf ActiveExpireCycel wird es erneut ausgeführt, um jeden Ablauf[*] einzeln zu erkennen. Die Ausführungszeit beträgt jeweils 250 ms/Server-Hz. Bei der Erkennung jedes Ablaufs[*] wird nach dem Zufallsprinzip ausgewählt Erkennung.
Oben haben wir drei Löschstrategien erwähnt, aber diese drei Strategien sind nur in Bezug auf Schlüssel mit einer Gültigkeitsdauer wirksam.
Da unser Redis nun nicht mehr genügend Speicher belegt, verwenden wir die Räumungsrichtlinie, um die normale Nutzung von Redis sicherzustellen.
redis ruft freeMemorylfNeeded() auf, um vor der Ausführung jedes Befehls zu prüfen, ob der Speicher ausreicht. Wenn dieser nicht ausreicht, werden einige Schlüssel gelöscht. Diese Datenlöschstrategie wird als Räumungsstrategie bezeichnet.
Der Parameter des maximal nutzbaren Speichers von Redis ist: maxmemory. Er bezieht sich auf den Anteil des belegten physischen Speichers.
Wählen Sie die Anzahl der zu löschenden Schlüssel jedes Mal: maxmemory-samples
Löschstrategie: maxmemory-policy
「Konzentrieren wir uns auf die Löschstrategie」
Alle Daten erkennen
Datenräumung aufgeben
Das Obige ist die Löschstrategie und Räumungsstrategie von Redis für Daten.
Hier ist zu beachten, dass sich flüchtige Daten in der Räumungsrichtlinie auf den Schlüssel mit festgelegter Ablaufzeit beziehen und kein dauerhafter Wert sind.
Die gesamte Datenbank bezieht sich auf alle Werte, mit Ablaufzeit und permanentem Datensatz.
❝Beharrlichkeit beim Lernen, Beharrlichkeit beim Bloggen und Beharrlichkeit beim Teilen sind die Überzeugungen, an denen Kaka seit seiner Karriere festhält. Ich hoffe, dass Kakas Artikel im riesigen Internet Ihnen ein wenig helfen können Sie in der nächsten Ausgabe.
❞
Empfohlen: „Redis-Tutorial“
Das obige ist der detaillierte Inhalt vonRedis-Löschrichtlinie und Räumungsrichtlinie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!