当前位置: 代码迷 >> PHP >> memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗?该怎么处理
  详细解决方案

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

热度:551   发布时间:2012-03-14 12:01:12.0
memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗?
memcache 的限制内存用光了以后,新的项加入会把旧的未过期项删除吗? 还是怎样处理的?

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

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

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