PHP Conference Japan 2024

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams在執行期間變更伺服器參數和狀態

說明

Memcache::setServerParams(
    字串 $host,
    整數 $port = 11211,
    整數 $timeout = ?,
    整數 $retry_interval = false,
    布林值 $status = ?,
    可呼叫 $failure_callback = ?
): 布林值

Memcache::setServerParams() 可在執行期間變更伺服器參數。您也可以使用 memcache_set_server_params() 函式。

注意事項:

此函式已新增至 Memcache 2.1.0 版。

參數

host

指向 memcached 監聽連線的主機。

port

指向 memcached 監聽連線的埠號。

timeout

用於連線到守護進程的秒數值。在更改預設值 1 秒之前請三思 - 如果您的連線速度太慢,您可能會失去快取的所有優勢。

retry_interval

控制重新嘗試連線失敗伺服器的頻率,預設值為 15 秒。將此參數設定為 -1 將停用自動重試。當擴充功能透過 dl() 動態載入時,此參數和 persistent 參數皆無效。

status

控制伺服器是否應標記為線上。將此參數設定為 false 並將 retry_interval 設定為 -1 可允許將失敗的伺服器保留在池中,以免影響金鑰分配演算法。根據 memcache.allow_failover 設定,對此伺服器的請求將會故障轉移或立即失敗。預設值為 true,表示伺服器應被視為線上。

failure_callback

允許使用者指定在遇到錯誤時執行的回呼函式。回呼函式會在嘗試故障轉移之前執行。該函式接受兩個參數,即失敗伺服器的主機名稱和埠號。

回傳值

成功時回傳 true,失敗時回傳 false

範例

範例 #1 Memcache::setServerParams() 範例

<?php

function _callback_memcache_failure($host, $port) {
print
"memcache '$host:$port' failed";
}

/* 物件導向 API */

$memcache = new Memcache;

// 以離線模式新增伺服器
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// 將伺服器重新上線
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* 程序式 API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

另請參閱

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top