我这个代码在PHP中使用的memcache:为什么不循环运行“确定”次数?
<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 1) or die ("Failed to save data at t\
he server");
echo "Store data in the cache (data will expire in 1 second)<br/>\n";
$i=0;
do{
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";
var_dump($get_result);
$i++;
}while($get_result);
echo $i;
var_dump($get_result);
$ i的值是不同的,每次..有时候是140,有时候是900+,等等......为什么会改变?
编辑 - 顺便说一句,这是一个示例程序memcached从PHP网站的小改动。
编辑
我想我是不会的问题不够清楚:
我的意思是问,为什么用$memcache->get('key')
执行需要更多的CPU时间在某些情况下,当需要在其他情况下更少的CPU时间。
=>更多循环意味着$memcache->get('key')
碰巧需要更少的时间,更少的循环意味着需要更多的CPU时间。
请记住,缓存设置为在1秒内过期,并执行do - while
,直到它到期。
$ i反映了您拥有的$ memcache-> get /'key'项目的数量。只要有,$ i递增1.在循环结束时,打印出循环的次数为 – 2011-02-11 06:35:18
`while循环(或`do ... while`循环)不是定时循环电脑了。至少现在还没有......至少十年左右。 – 2011-02-11 06:35:49
@Damien Pirsy:@Ignacio:问题更新,以更清楚地反映我的想法:)现在请再看看...谢谢 – Shrinath 2011-02-11 06:46:48