(PECL mongo >=1.1.0)
Mongo::getHosts — 関連づけられたすべてのホストの状態を更新する
このメソッドは、レプリカセットへの接続に対してのみ使えます。 レプリカセット内のすべてのホストの状態を返します。 レプリカセットがなければ、接続中のホストを含むひとつの要素だけを持つ配列を返します。
読み込みのスレーブへの分散についての情報は、このマニュアルの 問い合わせの節 を参照ください。
この関数にはパラメータはありません。
セット内のホストに関する情報の配列を返します。 各ホストのホスト名、健康状態 (1 が最高)、状態 (1 はプライマリ、2 はセカンダリ、 0 はそれ以外)、サーバーへの ping にかかる時間、 そして最後に ping したのはいつなのかが含まれます。 たとえば、ローカルで稼働しているメンバ 3 台のレプリカセットだとこのようになります。
array(2) {
["A:27017"]=>
array(4) {
["host"]=>
"A"
["port"]=>
27017
["health"]=>
int(1)
["state"]=>
int(2)
["ping"]=>
int(369)
["lastPing"]=>
int(1309470644)
}
["B:27017"]=>
array(4) {
["host"]=>
"B"
["port"]=>
27017
["health"]=>
int(1)
["state"]=>
int(1)
["ping"]=>
int(139)
["lastPing"]=>
int(1309470644)
}
["C:27017"]=>
array(4) {
["host"]=>
"C"
["port"]=>
27017
["health"]=>
int(1)
["state"]=>
int(2)
["ping"]=>
int(1012)
["lastPing"]=>
int(1309470644)
}
}
この例で、B と C はセカンダリ (状態が 2) です。B は slaveOkay が設定されている婆愛の問い合わせ用に選択されやすくなります。 ping 時間が C より短い (したがって読み込みの負荷が低い) からです。
| バージョン | 説明 |
|---|---|
| 1.2.10 |
レプリカセットでない場合もサポートするようになりました。 返される配列の要素に、新たに hostname と port を含むようになりました。 |