Heim >Backend-Entwicklung >PHP-Tutorial >memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗?该怎么处理

memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗?该怎么处理

WBOY
WBOYOriginal
2016-06-13 10:06:45953Durchsuche

memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗?
memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗? 还是怎样处理的?

比如大家都是未过期的,即都是有效缓存时间内, 超过最大使用内存后,比如100m, 加入的项,是不是先进先出这样的 ?

------解决方案--------------------
lru 自动清除最近比较少用的,然后将新的覆盖。
------解决方案--------------------
memcache的内存是按页分配的, 分配一页之后再分成更多的小块, 这样做的后果时, 回收也是按页回收, 所以往往会把不一定是"旧"的东西也给回收了, 所以会存在命中率问题, 如果你服务器可用内存很小, 还是不要使用memcache了, 可以考虑使用文件式的hash缓存类
------解决方案--------------------
http://hi.baidu.com/joysoftfan/blog/item/e6deaae459d7ae3ab9382035.html

google了一下,然后自己也写了个脚本测试了下,的确如2L所说

Stellungnahme:
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