很重要的一點是,不要每次執行都呼叫 ->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);
}
}
?>