PHP マニュアル
前のページ |  | 次のページ

# Memcache::addServer

(no version information, might be only in CVS)

Memcache::addServer -- コネクションプールに memcached サーバを追加する

## 説明

bool Memcache::addServer ( string host [, int port [, bool persistent [, int weight [, int timeout [, int retry_interval]]]]] )

Memcache::addServer() は、コネクションプールに サーバを追加します。実際の接続は、最初に使用する際に確立されます。 Memcache::addServer() を使用してオープンされた 接続は、スクリプトの実行終了時に自動的に閉じられます。 Memcache::close() を使用して閉じることも可能です。 memcache_add_server() 関数を使用することも可能です。

他のサーバが使用可能である場合、あらゆるメソッドのあらゆる段階について ユーザが意識しないままにフェイルオーバー処理が行われます。 ソケットあるいは Memcaches サーバレベルで発生したあらゆるエラー (ただし out-of-memory は除く) に対してフェイルオーバーが動作します。 既存のキーを追加しようとしたなどの通常のクライアントエラーの場合は、 フェイルオーバー処理は起動しません。

> 注意: この関数は、Memcache バージョン 2.0.0 で追加されました。

## パラメータ

host

  memcached が接続を待ち受けるホストを指定します。

port

  memcached が接続を待ち受けるポートを指定します。 このパラメータはオプションで、デフォルト値は 11211 です。

persistent

  持続的な接続を使用するかどうかを指定します。 デフォルトは `TRUE` です。

weight

  このサーバに対して割り当てる容器の数を指定します。これは、 このサーバが選択される可能性を左右します。選択される可能性は、 すべてのサーバの weight の合計に対するこのパラメータの割合で 決まります。

timeout

  デーモンへの接続の際に使用する値 (秒単位) です。 デフォルト値を 1 秒でも変更する前には十分注意してください。 接続が遅くなってしまうと、 キャッシュ処理のメリットが なくなってしまいます。

retry_interval

  サーバとの接続が失敗した際に再試行を行う頻度を設定します。 デフォルト値は 15 秒です。 dl() を使用してこの拡張モジュールが動的に 読み込まれている場合は、このパラメータおよび persistent は何の効果も及ぼしません。

  失敗した接続構造体は、個々にタイムアウト値を持っており、 タイムアウト時間が経過するまでは、バックエンドから新たな要求が来ても その構造体はスキップされます。時間が経過すると、 その接続が無事再接続されるか、あるいはさらに retry_interval 秒の間、接続失敗と記録されます。 典型的な効果は、ウェブサーバの各子プロセスがページを送り出す際に retry_interval 秒ごとに接続を再試行することです。

## 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

## 例

例 1. Memcache::addServer() の例
`<?php /* オブジェクト指向の API */ $memcache = new Memcache; $memcache->addServer('memcache_host', 11211); $memcache->addServer('memcache_host2', 11211); /* 手続き型の API */ $memcache_obj = memcache_connect('memcache_host', 11211); memcache_add_server($memcache_obj, 'memcache_host2', 11211); ?>`

## 参考

Memcache::connect()
Memcache::pconnect()
Memcache::close()

前のページ | ホーム | 次のページ
Memcache::add | 上に戻る | Memcache::close