PHP - Memcache::addServer() 函式



Memcache::addServer() 函式可以將一個 Memcached 伺服器新增到連線池。

語法

bool Memcache::addServer( 
   string $host [, 
      int $port = 11211 [, 
         bool $persistent [, 
            int $weight [, 
               int $timeout [, 
                  int $retry_interval [, 
                     bool $status [, 
                        callable $failure_callback [, int $timeoutms ]
                     ]
                  ]
               ]
            ]
         ]
      ]
   ]
)

Memcache::addServer() 函式可以將伺服器新增到連線池。使用 Memcache::addServer() 函式開啟的連線可以在指令碼執行結束時自動關閉,我們也可以使用 Memcache::close() 函式手動關閉它。我們也可以使用 memcache_add_server() 函式。

使用此函式(而不是 Memcache::connect() 和 Memcache::pconnect()),網路連線直到實際需要時才會建立。因此,即使可能並非所有伺服器都被使用,向池中新增大量伺服器也沒有額外開銷。

故障轉移可能發生在任何函式的任何階段,只要其他伺服器可用,請求和使用者都不會注意到。任何型別的套接字或 Memcached 伺服器級別的錯誤(記憶體不足除外)都可能觸發故障轉移。正常的客戶端錯誤(例如新增現有鍵)不會觸發故障轉移。

Memcache::addServer() 函式成功時返回 true,失敗時返回 false。

示例

<?php
   /* OO API */

   $memcache = new Memcache;
   $memcache->addServer('memcache_host', 11211);
   $memcache->addServer('memcache_host2', 11211);

   /* procedural API */

   $memcache_obj = memcache_connect('memcache_host', 11211);
   memcache_add_server($memcache_obj, 'memcache_host2', 11211);
?>
廣告