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

添加多个服务器后PHP Memcache不工作,php,memcached,command-line-interface,Php,Memcached,Command Line Interface,我正在用PHP创建一些备份CLI脚本,它利用Memcache类,但我有一个奇怪的问题 当我在Memcache上附加多个服务器时,get()方法总是返回false,即使条目存在,但当我只附加一个服务器时(该条目位于其中),它的值将返回 不起作用: $mc = new Memcache(); $mc->addServer('localhost', 11211); $mc->addServer('localhost', 11212); $mc->addServer('localhos

我正在用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)
?>


另外,您应该
set()
使用与
get()
完全相同的服务器池设置密钥。

输出很长,但我确实在第一个var_dump()中获取了所有三个服务器的统计信息。get(),再次返回布尔值false。