首頁  >  文章  >  後端開發  >  memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗?该怎么处理

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

WBOY
WBOY原創
2016-06-13 13:47:011109瀏覽

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

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

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn