(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 参数在扩展以
dl() 函数动态加载的时候无效。
statusfalse 并且 retry_interval 参数
设置为 -1 时允许将失败的服务器保留在一个池中以免影响 key 的分配算法。对于这个服务器的请求会进行故障转移或者立即失败,
这受限于 memcache.allow_failover 参数的设置。该参数默认 true,表明允许进行故障转移。
failure_callback示例 #1 Memcache::setServerParams() 示例
<?php
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}
/* OO 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');
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>