downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Mongo::getPoolSize> <Mongo::__get
[edit] Last updated: Fri, 25 May 2012

view this page in

Mongo::getHosts

(PECL mongo >=1.1.0)

Mongo::getHosts関連づけられたすべてのホストの状態を更新する

説明

public array Mongo::getHosts ( void )

このメソッドは、レプリカセットへの接続に対してのみ使えます。 レプリカセット内のすべてのホストの状態を返します。 レプリカセットがなければ、接続中のホストを含むひとつの要素だけを持つ配列を返します。

読み込みのスレーブへの分散についての情報は、このマニュアルの 問い合わせの節 を参照ください。

パラメータ

この関数にはパラメータはありません。

返り値

セット内のホストに関する情報の配列を返します。 各ホストのホスト名、健康状態 (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

レプリカセットでない場合もサポートするようになりました。

返される配列の要素に、新たに hostnameport を含むようになりました。



add a note add a note User Contributed Notes Mongo::getHosts
There are no user contributed notes for this page.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites