(PECL memcached >= 0.1.0)
Memcached::addServer — 向服务器池中增加一个服务器
$host
, int $port
[, int $weight
= 0
] ) : bool
Memcached::addServer()增加指定服务器到服务器池中。此时不会建立与服务端的连接,
但是,如果你使用一致性key分布选项(Memcached::DISTRIBUTION_CONSISTENT
或
Memcached::OPT_LIBKETAMA_COMPATIBLE
),一些内部的数据结构将会被更新。
因此,如果你需要增加多台服务器,更好的方式是使用Memcached::addServers()
以确保这种更新只发生一次。
同一台服务器可以在服务器池中多次出现,因为这里没有做重复检测。但这是不推荐的做法,对于期望提高某台服务器
权重的需求,请使用weight
参数。
host
memcached服务端主机名。如果主机名无效,相关的数据操作的返回代码将被设置为Memcached::RES_HOST_LOOKUP_FAILURE
。
port
memcached服务端端口号,通常是11211
。
weight
此服务器相对于服务器池中所有服务器的权重。此参数用来控制服务器在操作时被选种的概率。这个仅用于一致性 分布选项,并且这个值通常是由服务端分配的内存来设置的。
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 Memcached::addServer() example
<?php
$m = new Memcached();
/* Add 2 servers, so that the second one
is twice as likely to be selected. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>