php - Warum ist „flush_all' von Memcached so konzipiert, dass es nur Schlüssel, aber keine Werte löscht?
PHP中文网
PHP中文网 2017-06-12 09:20:27
0
1
579

Das Nichtlöschen des Werts bedeutet, dass der Wert weiterhin Speicherplatz belegt und ohne den Schlüssel nicht auf die Existenz dieser Werte zugegriffen werden kann. Was bedeutet das?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(1)
迷茫

你可以看一下这篇文章:

Lazy Expiration

memcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。 这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费CPU时间。

flush_all只做一件事:把所有键值标记为已过期,但并不回收内存。因为当时没有回收内存这个必要。只有当下一次用户访问同一键值时,memcached才检查键值,这时发现此键值已过期,于是回收对应此键值的内存。这样做的目的是为了最大限度的节省CPU时间。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage