サーバーをサーバープールに追加する

# Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — サーバーをサーバープールに追加する

### 説明

public function Memcached::addServer(string `$host`, int `$port`, int `$weight` = 0): bool

Memcached::addServer() は、指定したサーバーをサーバープールに追加します。 この時点では、サーバーへの接続は確立されません。しかし、一貫性のあるキー分散オプションを (`Memcached::DISTRIBUTION_CONSISTENT` あるいは `Memcached::OPT_LIBKETAMA_COMPATIBLE` で) 指定した場合は、 内部データ構造のうちの一部が更新されます。 したがって、もし複数のサーバーを追加したい場合は、 Memcached::addServers() を使用するほうがよいでしょう。 その場合、更新は一度しか発生しません。

同じサーバーがサーバープール内で複数回あらわれることもあります。 重複チェックはしていないからです。これは望ましい状態ではありません。 その代わりに `weight` オプションを使用して、 このサーバーを選択する重みを増やします。

### パラメータ

`host`

  memcache サーバーのホスト名。ホスト名が無効な場合は、データ関連の操作の結果コードに `Memcached::RES_HOST_LOOKUP_FAILURE` が設定されます。 バージョン 2.0.0b1 以降では、このパラメータにソケットのパス (`/path/to/memcached.sock` など) を指定すると、 UNIX ドメインソケットを使えるようになりました。 このとき、`port` には `0` を設定する必要があります。

`port`

  memcache が動作しているポート。通常、これは `11211` となります。 バージョン 2.0.0b1 以降では、UNIX ドメインソケットを利用する際には `0` を設定します。

`weight`

  プール内の全サーバーにおけるそのサーバーの重み。 これで、何か操作をしたときにそのサーバーが選択される確率を制御します。 これは、一貫性のある分散オプションを使っている場合にのみ使用でき、 通常はそのサーバー上で memcache が使用できるメモリの量に対応したものとなります。

### 戻り値

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

### 例

例1 Memcached::addServer() の例

    <?php
    $m = new Memcached();

    /* 2 つのサーバーを追加し、2 番目のサーバーが
       最初のサーバーの 2 倍の確率で選択されるようにします */
    $m->addServer('mem1.domain.com', 11211, 33);
    $m->addServer('mem2.domain.com', 11211, 67);
    ?>

### 参考

- Memcached::addServers() - 複数のサーバーをサーバープールに追加する
- Memcached::resetServerList() - サーバーリストからすべてのサーバーを消去する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open