Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams運行時修改服務器參數和狀態(tài)

說明

Memcache::setServerParams(
    string $host,
    int $port = 11211,
    int $timeout = ?,
    int $retry_interval = false,
    bool $status = ?,
    callback $failure_callback = ?
): bool

Memcache::setServerParams()用于運行時修改服務器參數。 同樣你可以使用函數memcache_set_server_params()

注意:

在memcache2.1.0加入。

參數

host

服務端監(jiān)聽地址。

port

服務端監(jiān)聽端口。

timeout

連接持續(xù)(超時)時間(單位秒),默認值1秒,修改此值之前請三思,過長的連接持續(xù)時間可能會導致失去所有的緩存優(yōu)勢。

retry_interval

服務器連接失敗時重試的間隔時間,默認值15秒。如果此參數設置為-1表示不重試。此參數和persistent參數在擴展以 dl()函數動態(tài)加載的時候無效。

status

控制此服務器是否可以被標記為在線狀態(tài)。設置此參數值為false并且retry_interval參數 設置為-1時允許將失敗的服務器保留在一個池中以免影響key的分配算法。對于這個服務器的請求會進行故障轉移或者立即失敗, 這受限于memcache.allow_failover參數的設置。該參數默認true,表明允許進行故障轉移。

failure_callback

允許用戶指定一個運行時發(fā)生錯誤后的回調函數?;卣{函數會在故障轉移之前運行?;卣{函數會接受到兩個參數,分別是失敗主機的 主機名和端口號。

返回值

成功時返回 true, 或者在失敗時返回 false

范例

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

<?php

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

/* OO API */

$memcache = new Memcache;

// 增加一臺離線服務器
$memcache->addServer('memcache_host'11211false11, -1false);

// 使該服務器變?yōu)樵诰€狀態(tài)
$memcache->setServerParams('memcache_host'11211115true'_callback_memcache_failure');

/* procedural API */

$memcache_obj memcache_connect('memcache_host'11211);
memcache_set_server_params($memcache_obj'memcache_host'11211115true'_callback_memcache_failure');

?>

參見