Dieser Artikel führt Sie in das Redis-bezogene Wissen ein. Der Hauptinhalt besteht darin, die Gründe zu analysieren, warum abgelaufene Redis-Schlüssel nicht freigegeben werden. Ich hoffe, dass er für Freunde in Not hilfreich ist. Werfen wir einen Blick darauf!
Hintergrund:
1, Redis-Version 5.0;
2, 32G-Redis-Cloud-Server, der Speicher nimmt weiter zu und der durch abgelaufene Schlüssel belegte Speicher wurde nicht freigegeben. Die Speichernutzung ist wie folgt:
Letzter Redis-Vorgang: 20 Millionen nie abgelaufenen Schlüsseln wurde zufällig eine Ablaufzeit von 7–20 Tagen zugewiesen.
Optimierungsprozess:
1. Beobachten Sie kontinuierlich die „Offline-Vollschlüsselanalyse“
2. Es wurde festgestellt, dass der Speicher abgelaufener Schlüssel nicht freigegeben und von 2G auf 5G erhöht wurde . Analyse des Ablaufs Der Grund, warum der Schlüsselspeicher nicht freigegeben wird
4 Passen Sie den Hz-Parameter von 10 auf 30 an und stellen Sie fest, dass es keine Änderung gibt.
6. Fazit: Grund für die Nichtfreigabe des Redis-Speichers: Kürzlich wurden 20 Millionen Schlüssel auf Ablauf gesetzt, was zu einer Trefferquote bei der Garbage Collection von weniger als 25 % führt und abgelaufene Schlüssel nicht wiederholt durchlaufen werden. (Quellcodedatei: Expire.c, ActiveExpireCycle-Funktion).
hz Beschreibung [Empfohlenes Lernen:Redis-Video-Tutorial] 7. Endgültige Verarbeitungsmethode: Mit zunehmender Anzahl abgelaufener Schlüssel steigt die Trefferquote wird schließlich veröffentlicht (wenn Sie die Parametereinstellung „hz“ beschleunigen möchten, ist die Geschwindigkeit zwar schneller, verbraucht jedoch mehr CPU-Ressourcen. Weitere Informationen finden Sie in der Alibaba Cloud-Dokumentation.)
Das obige ist der detaillierte Inhalt vonLassen Sie mich die Gründe, warum der abgelaufene Redis-Schlüssel nicht freigegeben wird, sorgfältig analysieren!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!