我在使用 pecl/memcached 客户端时遇到了一个奇怪的问题。在我的设置中,我有 3 个 memcached 服务器。当我停止(这是一个 ec2 实例)其中一个 memcached 服务器来模拟完全故障时,“get”操作需要 4 秒才能完成。如何强制它提前超时?
以下是一些代码片段:
$this->memcache = new Memcached;
$this->memcache->setOption(Memcached::OPT_DISTRIBUTION ,Memcached::DISTRIBUTION_CONSISTENT);
$this->memcache->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE ,TRUE);
...
foreach($CFG->data_memcache_servers as $server){
if (!$this->memcache->addserver($server,11211)){
throw new Exception('Unable to connect to memcache server');
}
}
...
$data = $this->memcache->get($key);