當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。