Memcached的过期数据的过期机制及删除机制(LRU)

Memcached的过期数据的过期机制及删除机制
1.当某个值过期后,并没有从内存删除,因此,使用stats命令统计时,curr_item参数有信息(不为0)
2.当某个新值去占用他的位置时,当成空chunk来占用(即取代了原来数据占用内存的位置)
3.当get值时,判断是否过期,如果过期,返回空,并且清空,curr_item就减少

这个过程,只是让用户看不到这个数据而已,并没有在过期的瞬间立即从内存删除,这个称为lazy expriation(懒性失效),只有get后,这个数据才会真正从内存删除    ----过期机制
好处:节省了CPU时间和检测的成本


4.如果122Byte的chunk满了,又有新的值要写入,那么:
memcached此处用的LRU删除机制(LRU:最近最少使用【操作系统中的调度算法】)  -----删除机制

原理:当某个单元被请求时,维护一个计数器,通过计数器来判断最近谁最少被使用,就把谁踢出去

 

当执行get、incr、decr命令时,数据存放的内存会被刷成最新访问记录!

即使某个key是设置的永久有效,也一样会被踢出来!

 

posted on 2017-02-20 15:51  eaglezb  阅读(646)  评论(0编辑  收藏  举报

导航