重要的是不要在每次运行时都调用 ->addServers() -- 只有在不存在服务器的情况下才调用它(检查 getServerList());否则,由于 addServers() 不检查重复项,它会让您一遍又一遍地添加同一个服务器,从而导致对 MC 守护进程的数百甚至数千个连接。尤其是在使用 FastCGI 时。
示例
<?php
class Cache {
private $id;
private $obj;
function __construct($id){
$this->id = $id;
$this->obj = new Memcached($id);
}
public function connect($host , $port){
$servers = $this->obj->getServerList();
if(is_array($servers)) {
foreach ($servers as $server)
if($server['host'] == $host and $server['port'] == $port)
return true;
}
return $this->obj->addServer($host , $port);
}
}
?>