memcache 永久数据被踢

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