PHP Memcached addServer()函数
Memcached::add()函数是PHP中 memcached 类的内置函数,用于将服务器添加到服务器池中。它将指定的服务器添加到服务器池中。此时没有与服务器建立连接,但如果您使用一致的密钥分配选项(通过 Memcached::DISTRIBUTION_CONSISTENT 或 Memcached::OPT_LIBKETAMA_COMPATIBLE),则必须更新一些内部数据结构。因此,如果您需要添加多个服务器,最好使用 Memcached::addServers() 因为更新只发生一次。
同一台服务器可能会在服务器池中出现多次,因为没有进行重复检查。这是不可取的;相反,使用 weight 选项来增加此服务器的选择权重。
句法:
public Memcached::addServer( $host, $port, $weight = 0): bool
参数:此函数接受三个参数:
- host: memcache 服务器的主机名。
- port:运行内存缓存的端口。通常,这是 11211。
- weight:服务器的权重相对于池中所有服务器的总权重。用于负载平衡。
返回值:成功时返回true,失败时返回false。
下面的程序说明了PHP中的 Memcached::addServer()函数:
示例 1:
PHP
";
// Server & port details
$server = '127.0.0.1';
$port = 11211;
// Initiate a new object of memcache
$memcacheD = new Memcached();
// Add server
if ($memcacheD->addServer($server, $port)) {
echo "** server added ** \n";
}
else {
echo "** issue while creating a server **\n";
}
// Get server detail
echo "Server Details :: \n";
var_dump($memcacheD->getServerList());
?>
PHP
";
// Server & port details
$server = '127.0.0.1';
$port = "8000";
// Initiate a new object of memcache
$memcacheD = new Memcached();
// Add server
if ($memcacheD->addServer($server, $port)) {
echo "** server added ** \n";
}
else {
echo "** issue while creating a server **\n";
}
// Get server detail
echo "Server Details :: \n";
var_dump($memcacheD->getServerList());
?>
输出:
** server added **
Server Details :: array(1) {
[0]=>array(3) {
[“host”]=>string(9) “127.0.0.1”
[“port”]=>int(11211)
[“type”]=>string(3) “TCP”
}
}
示例 2(创建服务器时出错:已使用端口):
PHP
";
// Server & port details
$server = '127.0.0.1';
$port = "8000";
// Initiate a new object of memcache
$memcacheD = new Memcached();
// Add server
if ($memcacheD->addServer($server, $port)) {
echo "** server added ** \n";
}
else {
echo "** issue while creating a server **\n";
}
// Get server detail
echo "Server Details :: \n";
var_dump($memcacheD->getServerList());
?>
输出:
** server added **
*** issue while creating a server **
Server Details ::
参考: https://www. PHP.net/manual/en/memcached.addserver。 PHP