Memcached::addServer
(PECL memcached >= 0.1.0)
Memcached::addServer — サーバーをサーバープールに追加する
説明
public 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() - サーバーリストからすべてのサーバーを消去する