PHP Memcache添加多个服务器后不工作


PHP Memcache not working after adding multiple servers

我在PHP中创建了一些备份CLI脚本,它利用Memcache类,但我有奇怪的问题…

当我在Memcache上附加多个服务器时,get()方法总是返回false,即使条目存在,但是当我只附加一个服务器时,该条目放置在其中,它的值返回…

不工作:

$mc = new Memcache();
$mc->addServer('localhost', 11211);
$mc->addServer('localhost', 11212);
$mc->addServer('localhost', 11213);
var_dump($mc->get('someKey')); //bool(false)

但这是有效的:

$mc = new Memcache();
$mc->addServer('localhost', 11211); 
var_dump($mc->get('someKey')); //Outputs actual value
我重复一遍,我从命令行运行这个脚本。在将所有三个服务器都添加到连接池的情况下,memcache中的条目也是使用memcache类创建的。唯一的区别是保存缓存条目是通过HTTP请求触发的,使用浏览器。

任何想法?

试着运行这段代码

<?php
error_reporting(E_ALL || E_NOTICE);
$mc = new Memcache();
$mc->addServer('localhost', 11211);
$mc->addServer('localhost', 11212);
$mc->addServer('localhost', 11213);
var_dump($mc->getExtendedStats());
var_dump($mc->get('someKey')); //bool(false)
?>

此外,您应该使用与get()时完全相同的服务器池set()您的密钥