3

我正在使用 Couchbase PHP Extension 连接到 Couchbase 并实现一个功能,该功能可以检测 Couchbase 是否没有响应并故障转移到 MySQL。但是,我不知道如何检测 Couchbase 是否已关闭,我在他们的文档中找不到任何内容。

以下是我的代码:

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

任何帮助都感激不尽。

4

2 回答 2

2

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

$cb = @new Couchbase($host.":".$port,$username,$password,$bucket,$persistent);
if($cb->getResultCode() != COUCHBASE_SUCCESS){ 
    throw Exception('Cannot connect to couchbase!'); 
} 
于 2014-02-07T16:25:22.397 回答
0

我建议将错误计数到一个阈值,然后考虑连接“关闭”并尝试重建它。

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

于 2012-07-18T07:55:24.203 回答