Heim > Datenbank > Redis > Hauptteil

Eine kurze Diskussion zum Umgang mit Cache-Ablauf und durch Cache belegtem Speicher in Redis?

青灯夜游
Freigeben: 2021-11-26 19:32:23
nach vorne
2043 Leute haben es durchsucht

Eine kurze Diskussion zum Umgang mit Cache-Ablauf und durch Cache belegtem Speicher in Redis? Der folgende Artikel führt Sie durch die Strategie zur Cache-Ablaufverarbeitung und den Mechanismus zur Speichereliminierung in Redis. Ich hoffe, er wird Ihnen hilfreich sein!

Eine kurze Diskussion zum Umgang mit Cache-Ablauf und durch Cache belegtem Speicher in Redis?

Wie gehe ich mit abgelaufenen Schlüsseln um?

Der Cache für abgelaufene Schlüssel ist abgelaufen, aber der Speicher des Servers ist weiterhin belegt. Dies liegt an den beiden Löschstrategien, auf denen Redis basiert:

  • (aktives) geplantes Löschen

    Überprüfen Sie abgelaufene Schlüssel regelmäßig und stichprobenartig und bereinigen und löschen Sie sie, wenn sie ablaufen. (Die Anzahl der Prüfungen pro Sekunde wird in redis.conf konfiguriert)

    (passives) verzögertes Löschen
  • Wenn der Client einen abgelaufenen Schlüssel anfordert, prüft Redis, ob der Schlüssel abgelaufen ist , löschen Sie es und geben Sie dann Null zurück. Diese Strategie ist CPU-schonender und verursacht keinen allzu großen Verlust, allerdings ist die Speichernutzung relativ hoch.

    Obwohl der Schlüssel abgelaufen ist, ist der Speicher weiterhin belegt, solange er nicht von Redis gelöscht wird. [Verwandte Empfehlungen:
  • Redis-Video-Tutorial
]

Was soll ich also tun, wenn der Speicher vom Redis-Cache belegt und langsam ist?

Wenn der Speicher voll ist, können Sie die Festplatte zum Speichern verwenden. Dies ist jedoch sinnlos, da die Festplatte nicht so schnell wie der Speicher ist und die Leistung von Redis beeinträchtigt. Wenn der Speicher voll ist, stellt Redis einen Cache-Eliminierungsmechanismus bereit: SPEICHERVERWALTUNG


: Wenn die Speichernutzungsrate erreicht ist, wird der Cache bereinigt

* noeviction:旧缓存永不过期,新缓存设置不了,返回错误
* allkeys-lru:清除最少用的旧缓存,然后保存新的缓存(推荐使用)
* allkeys-random:在所有的缓存中随机删除(不推荐)
* volatile-lru:在那些设置了expire过期时间的缓存中,清除最少用的旧缓存,然后保存新的缓存
* volatile-random:在那些设置了expire过期时间的缓存中,随机删除缓存
* volatile-ttl:在那些设置了expire过期时间的缓存中,删除即将过期的`
Nach dem Login kopieren

Weitere Programmierkenntnisse finden Sie unter: maxmemory Programmierung Erste Schritte

! !

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion zum Umgang mit Cache-Ablauf und durch Cache belegtem Speicher in Redis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage