php memcached获取故障转移检测

时间:2016-08-12 13:49:46

标签: php php-7

我试图告诉memcached池故障转移。但首先我只尝试使用1台服务器

我有以下代码

$m = new Memcached;
$m->setOption(Memcached::OPT_CONNECT_TIMEOUT, 1);
$m->setOption(Memcached::OPT_SERVER_FAILURE_LIMIT, 1);
$m->addServer($somehost,$someport);
function callback($memc, $key, &$value) { echo "Callback for $key " . PHP_EOL; }
$key = 'mk1470838967';
$data = $m->get($key, 'callback');
if (!$data) {
    echo "NOT found $key in cache, result code: " . $m->getResultCode() . PHP_EOL;
    echo "Callback should have been called before this";
}

所以问题是当我的MC服务器运行时一切都很好。我得到了我的数据。

但是当我关闭我的MC服务器以测试故障转移时,永远不会调用回调并且结果代码不是预期的。

输出:

NOT found mk1470838967 in cache, result code: 3
Callback should have been called before this

任何想法我可能做错了什么?

修改

我现在明白回调仅适用于缓存未命中。但是结果代码怎么样呢。

0 个答案:

没有答案