(PECL memcache >= 2.1.0)
Memcache::setServerParams -- memcache_set_server_params — サーバーのパラメータおよび状態を、実行時に変更する
$host,$port = 11211,$timeout = ?,$retry_interval = false,$status = ?,$failure_callback = ?$memcache,$host,$port = 11211,$timeout = ?,$retry_interval = false,$status = ?,$failure_callback = ?Memcache::setServerParams() は、 サーバーのパラメータを実行時に変更します。
注意: この関数は、Memcache バージョン 2.1.0 で追加されました。
hostporttimeoutretry_intervalpersistent は何の効果も及ぼしません。
statusfalse にし、retry_interval を -1
と設定すると、失敗したサーバーもコネクションプールに残します。
これにより、キー配布アルゴリズムに影響を与えないようにします。
このサーバーへのリクエストは、フェイルオーバーされるか失敗します。
どちらになるかは memcache.allow_failover
の設定によって決まります。デフォルトは true で、
サーバーがオンライン状態であることを意味します。
failure_callback例1 Memcache::setServerParams() の例
<?php
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}
/* オブジェクト指向の API */
$memcache = new Memcache;
// サーバーをオフラインモードで追加します
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// サーバーをオンラインに変更します
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
/* 手続き型の API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>