函式名稱:Memcache::getExtendedStats()
適用版本:PHP 5 >= 5.2.0, PECL memcache >= 2.0.0
用法:Memcache::getExtendedStats() 函式用於獲取所有伺服器的統計資訊,包括伺服器的版本、連線數、命中率等。
語法:array Memcache::getExtendedStats([string $type [, int $slabid [, int $limit]]])
引數:
- $type(可選):指定要獲取的統計資訊型別。可以是 "slabs"(預設值), "items", "sizes", "cachedump" 或 "reset"。
- $slabid(可選):當 $type 為 "items" 時,可以指定要獲取的 slab id。
- $limit(可選):當 $type 為 "cachedump" 時,可以指定要獲取的最大數量。
返回值:返回一個關聯陣列,包含了所有伺服器的統計資訊。陣列的鍵是伺服器地址,值是包含統計資訊的關聯陣列。
示例:
$memcache = new Memcache;
$memcache->addServer('localhost', 11211);
// 獲取所有伺服器的統計資訊
$stats = $memcache->getExtendedStats();
// 列印統計資訊
foreach ($stats as $server => $data) {
echo "Server: $server\n";
echo "Version: " . $data['version'] . "\n";
echo "Uptime: " . $data['uptime'] . " seconds\n";
echo "Current Connections: " . $data['curr_connections'] . "\n";
echo "Total Connections: " . $data['total_connections'] . "\n";
echo "Get Hits: " . $data['get_hits'] . "\n";
echo "Get Misses: " . $data['get_misses'] . "\n";
echo "Hit Rate: " . ($data['get_hits'] / ($data['get_hits'] + $data['get_misses'])) * 100 . "%\n";
echo "\n";
}
上述示例程式碼建立了一個 Memcache 物件,並新增了一個伺服器(本地主機)。然後,透過呼叫 Memcache::getExtendedStats() 函式獲取所有伺服器的統計資訊,並使用 foreach 迴圈遍歷每個伺服器的統計資訊,列印出伺服器的版本、執行時間、當前連線數、總連線數、命中次數、未命中次數以及命中率。