memcache 永久数据被踢

本文通过具体的PHP代码示例,介绍了Memcache中slabchunk的工作原理及其如何管理内存分配。包括不同大小的缓存块如何被分配及利用,以及活跃状态的影响。同时,文中还涉及了LRU和已过期数据条目的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.memcache的slab chunk 就像公交车的坐位一样,有大小之分,还有活跃的状态。

2.代码

index.php -->插入数据,注意$value的大小和重复次数,跟chunk和其数量 有关

<?php

$mem = new memcache();
$mem->connect("localhost",11211,2);
$value=str_repeat("a",7000);

$mem->add("key1",$value,0,0);

for($i=2;$i<=127;$i++){
$mem->add('key'.$i,$value,0,20);

 }
echo 'insert ok';

 

refresh.php  //活跃这些key
$mem = new memcache();
$mem->connect("localhost",11211,2);
$value=str_repeat("a",7000);


for($i=2;$i<=127;$i++){
$mem->get('key'.$i);

}

echo 'refresh ok';

 

kick.php //踢掉永久数据

<?php

$mem = new memcache();
$mem->connect("localhost",11211,2);
$value=str_repeat("a",7000);

$mem->add("key128",$value,0,0);
echo 'kick ok';

总结:

有两个状态要注意:

evictions LRU释放的对象数目

reclaimed 已过期的数据条目来存储新数据的数目

 

转载于:https://www.cnblogs.com/xkcp008/p/4640733.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值