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

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

青灯夜游
青灯夜游nach vorne
2021-11-26 19:32:232014Durchsuche

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过期时间的缓存中,删除即将过期的`

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen