文字

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams运行时修改服务器参数和状态

说明

bool Memcache::setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback $failure_callback ]]]]] )

Memcache::setServerParams() 用于运行时修改服务器参数。 同样你可以使用函数 memcache_set_server_params()

Note:

在memcache2.1.0加入。

参数

host

服务端监听地址。

port

服务端监听端口。

timeout

连接持续(超时)时间(单位秒),默认值1秒,修改此值之前请三思,过长的连接持续时间可能会导致失去所有的缓存优势。

retry_interval

服务器连接失败时重试的间隔时间,默认值15秒。如果此参数设置为-1表示不重试。此参数和persistent参数在扩展以 dl() 函数动态加载的时候无效。

status

控制此服务器是否可以被标记为在线状态。设置此参数值为 FALSE 并且retry_interval参数 设置为-1时允许将失败的服务器保留在一个池中以免影响key的分配算法。对于这个服务器的请求会进行故障转移或者立即失败, 这受限于memcache.allow_failover参数的设置。该参数默认 TRUE ,表明允许进行故障转移。

failure_callback

允许用户指定一个运行时发生错误后的回调函数。回调函数会在故障转移之前运行。回调函数会接受到两个参数,分别是失败主机的 主机名和端口号。

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

范例

Example #1 Memcache::setServerParams() 示例

<?php

function  _callback_memcache_failure ( $host $port ) {
    print 
"memcache ' $host : $port ' failed" ;
}



$memcache  = new  Memcache ;

// 增加一台离线服务器
$memcache -> addServer ( 'memcache_host' 11211 false 1 1 , - 1 false );

// 使该服务器变为在线状态
$memcache -> setServerParams ( 'memcache_host' 11211 1 15 true '_callback_memcache_failure' );



$memcache_obj  memcache_connect ( 'memcache_host' 11211 );
memcache_set_server_params ( $memcache_obj 'memcache_host' 11211 1 15 true '_callback_memcache_failure' );

?>

参见

  • Memcache::addServer() - 向连接池中添加一个memcache服务器
  • Memcache::getServerStatus() - 用于获取一个服务器的在线/离线状态
上一篇: 下一篇: