Couchbase PHP SDK:如何检测couchbase连接失败?

时间:2012-07-17 23:47:50

标签: php couchbase

我正在使用Couchbase PHP Extension连接到Couchbase并实现一项功能,可以检测Couchbase是否没有响应并故障转移到MySQL。但是,我无法弄清楚如何检测Couchbase是否已关闭,我在其文档中找不到任何内容。

以下是我的代码:

$cb = new Couchbase("$host:$port", $admin, $password, $bucket);
if (!$cb) {
    throw Exception('Cannot connect to couchbase!');        
}

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并以这种方式解决了这个问题:

$cb = @new Couchbase($host.":".$port,$username,$password,$bucket,$persistent);
if($cb->getResultCode() != COUCHBASE_SUCCESS){ 
    throw Exception('Cannot connect to couchbase!'); 
} 

答案 1 :(得分:0)

我建议将错误计数到阈值,然后考虑连接'down'并尝试重建它。

请注意,很难确定'down'的部分原因是Couchbase在设计上很少会完全失败,即使发生故障的节点,也会自动或手动触发故障转移,使该连接对象重新联机。在这方面它与其他数据库的连接不同。