我正在使用Couchbase PHP Extension连接到Couchbase并实现一项功能,可以检测Couchbase是否没有响应并故障转移到MySQL。但是,我无法弄清楚如何检测Couchbase是否已关闭,我在其文档中找不到任何内容。
以下是我的代码:
$cb = new Couchbase("$host:$port", $admin, $password, $bucket);
if (!$cb) {
throw Exception('Cannot connect to couchbase!');
}
非常感谢任何帮助。
答案 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在设计上很少会完全失败,即使发生故障的节点,也会自动或手动触发故障转移,使该连接对象重新联机。在这方面它与其他数据库的连接不同。