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

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

比如大家都是未过期的,即都是有效缓存时间内, 超过最大使用内存后,比如100m, 加入的项,是不是先进先出这样的 ?
...全文
217 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qazwsxhai 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liv2005 的回复:]
http://hi.baidu.com/joysoftfan/blog/item/e6deaae459d7ae3ab9382035.html

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




确实, 多谢你的热心帮助.
Liv2005 2012-02-09
  • 打赏
  • 举报
回复
http://hi.baidu.com/joysoftfan/blog/item/e6deaae459d7ae3ab9382035.html

google了一下,然后自己也写了个脚本测试了下,的确如2L所说
ddboy 2012-02-09
  • 打赏
  • 举报
回复
memcache的内存是按页分配的, 分配一页之后再分成更多的小块, 这样做的后果时, 回收也是按页回收, 所以往往会把不一定是"旧"的东西也给回收了, 所以会存在命中率问题, 如果你服务器可用内存很小, 还是不要使用memcache了, 可以考虑使用文件式的hash缓存类
qazwsxhai 2012-02-09
  • 打赏
  • 举报
回复
回1楼, 我觉得2楼说得更中肯一些. 一满set会失败, 好像条件不太成立.. 因为这是个很大的要改进的地方.. mm的开发者应该看到这些问题的..
黄袍披身 2012-02-09
  • 打赏
  • 举报
回复
lru 自动清除最近比较少用的,然后将新的覆盖。
Liv2005 2012-02-09
  • 打赏
  • 举报
回复
我记得是会set失败的...可以把memcached的内存设的小一些,然后做个试验试试看..

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧