当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Memcached addServer()用法及代码示例


Memcached::add() 函数是 PHP 中 memcached 类的内置函数,用于将服务器添加到服务器池中。它将指定的服务器添加到服务器池中。此时没有与服务器建立连接,但如果您使用一致的 key 分配选项(通过 Memcached::DISTRIBUTION_CONSISTENT 或 Memcached::OPT_LIBKETAMA_COMPATIBLE),则必须更新一些内部数据结构。因此,如果您需要添加多个服务器,最好使用 Memcached::addServers() 作为更新,然后只发生一次。

同一台服务器可能会在服务器池中出现多次,因为没有进行重复检查。这是不可取的;相反,使用 weight 选项来增加此服务器的选择权重。

用法:

public Memcached::addServer( $host, $port, $weight = 0):bool



参数:该函数接受三个参数:

  • host:内存缓存服务器的主机名。
  • port:运行内存缓存的端口。通常,这是 11211。
  • weight:服务器的权重相对于池中所有服务器的总权重。用于负载平衡。

返回值:它在成功时返回 true,在失败时返回 false。

以下示例程序旨在说明 PHP 中的 Memcached::addServer() 函数:

范例1:

PHP


<?php
  
echo "<pre>";
  
// 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());
  
?>

输出:

**  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


<?php
echo "<pre>";
  
// 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




相关用法


注:本文由纯净天空筛选整理自Shivam.Pradhan大神的英文原创作品 PHP Memcached addServer() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。