加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

memcache缓存失效

发布时间:2020-05-25 08:11:04 所属栏目:PHP 来源:互联网
导读:缓存过期 memcached在处理过期的缓存项时,采用懒惰模式处理方法。 缓存项过期,不会立即删除,直到对该缓存项执行了get操作,才会删除过期缓存。 gt; set key 0 10 gt; t

缓存过期
memcached在处理过期的缓存项时,采用懒惰模式处理方法。
缓存项过期,不会立即删除,直到对该缓存项执行了get操作,才会删除过期缓存。

> set key 0 10
> test
> stats //查看curr_items的值
> get key //超过过期时间
> stats //查看curr_items,发现执行get操作后,key被删除了。

缓存空间已满
memcached在插入新数据时,如果空间不足,采用的删除旧缓存项的策略。
采用删除最近最少使用(使用频率低)的缓存项(LRU算法)。

$mem = new Memcache();
$mem->connect('127.0.0.1','11211');
$data = str_repeat('a',500 * 1024);
var_dump($mem->set('key_1',$data));

$data2 = str_repeat('b',500 * 1024);
var_dump($mem->set('key_2',$data2));

//分别获取不同次数的key
$mem->get('key_1');
$mem->get('key_2');
$mem->get('key_1');

//添加key_3,因空间不足,memcached会删除最少使用的key
$data3 = str_repeat('c',500 * 1024);
var_dump($mem->set('key_3',$data3));

$mem->get('key_3');
//发现key_2已经被删除,因为使用较少
$mem->get('key_2');
$mem->get('key_1');

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读