大家好,这是我当前设置 Memcached (1.2.2) Pecl Memcached Client 1.0.2 的版本(使用 libmemcached 0.43)
问题:我无法在获取请求期间获得返回的 cas 令牌
这是有问题的代码!
27 public function action_test() {
28 //phpinfo();
29 $m = Model_Mem::getSingleton();
30 $found = $m->get('navigation');
31 echo (int)count($found).'<br />'; // Returns an array of navigation objects
32
33 $cas = 0;
34 $found = $m->get('navigation', null, &$cas);
35 echo (int)count($found); // Returns nothing!
36
37 exit;
38 }
第一个回显的输出是 7,第二个回显是 1。此外,第二组代码中的 $cas 变量和 $found 变量都是空的。我不是 100% 确定我这样做是否正确,但 cas 令牌似乎根本不适合我。我浏览了 php Memcached 文档,但没有提及任何我可以轻松发现的 CAS 启用标志。我还尝试查看 memcached.org 网站以获取一些信息,但我迷路了!
我从来没有遇到过任何问题,只是每次我尝试在获取请求上使用 cas 功能时,我都会做错事。感谢任何人帮助我!
*编辑这是 Model_Mem::getSingleton() 函数返回的内容
static function getSingleton() {
if (self::$m)
return self::$m;
self::$m = new Memcached();
$servers = array(
array('127.0.0.1', 11211, 25),
array('127.0.0.1', 11212, 25),
array('127.0.0.1', 11213, 25),
array('127.0.0.1', 11214, 25)
);
// Sets up some options for the memcache server
self::$m->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
self::$m->setOption(Memcached::OPT_PREFIX_KEY, Kohana::config('globals.prefix'));
self::$m->addServers($servers);
return self::$m;
}