Memcached::addServer
サーバーをサーバープールに追加する
説明
public bool Memcached::addServer(string $host
, int $port
, int $weight
= 0)
同じサーバーがサーバープール内で複数回あらわれることもあります。
重複チェックはしていないからです。これは望ましい状態ではありません。
その代わりに 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