码迷,mamicode.com
首页 > 系统相关 > 详细

memcached的LRU删除机制前篇

时间:2015-07-07 17:07:57      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:memcached的lru删除机制前篇   lru删除机制   


前言:当memcached中有100bytes的数据要存,但是122大小的仓库中chunk满了。并不会寻找更大的仓库去存储,而是把122仓库的旧数据T掉,这就是数据过期与删除机制。

1.  当某个值过期之后,并没有从内存中删除,在使用stats命令时,发现curr_items 依然存在。只是当你去get,取数据的时候为空,才会删除,然后在查看stats,显示正确的curr_items。也就是没有get数据,将不会删除。

技术分享


技术分享

10s之后查看:


技术分享


然后get一下:


技术分享


查看:


技术分享


好处:节省了CPU时间和检测的成本。

2. 操作系统常用的机制

LRU 最近最少用

FIFO 先进先出

        FIFO置换算法性能之所以较差,是因为它所依据的条件是各个页面调入内存的时间,而页面调入的先后并不能反映页面的使用情况。最近最久未使用(LRU)置换算法,是根据页面调入内存后的使用情况进行决策的。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最久未使用的页面予以淘汰。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

memcached的LRU删除机制前篇

标签:memcached的lru删除机制前篇   lru删除机制   

原文地址:http://blog.csdn.net/u012675743/article/details/46789501

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!