• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Memcache::setServerParams()

    (PECL memcache >= 2.1.0)

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

    说明

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

    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";
    }
    /* 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');
    ?>
    

    参见

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