Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats緩存服務器池中所有服務器統(tǒng)計信息

說明

Memcache::getExtendedStats(string $type = ?, int $slabid = ?, int $limit = 100): array

Memcache::getExtendedStats() 返回一個二維關聯(lián)數(shù)據(jù)的服務器統(tǒng)計信息。數(shù)組的key由host:port方式 組成,無效的服務器返回的統(tǒng)計信息被設置為false,同樣的,你可以使用函數(shù)memcache_get_extended_stats()。

注意:

這個函數(shù)在Memcache2.0.0版本加入。

注意:

(譯注)獲取Memcache內(nèi)所有數(shù)據(jù)方法:首先使用getExtendedStats('slabs')獲取到每個服務器上活動slabs分塊的id, 然后 使用getExtendedStats('cachedump', $slabid, $limit)來獲取每個slab里面緩存的項,其中$slabid是slab分塊id, $limit指 期望獲取其中的多少條記錄。

參數(shù)

type

期望抓取的統(tǒng)計信息類型,可以使用的值有{reset, malloc, maps, cachedump, slabs, items, sizes}。 通過memcached協(xié)議指定這些附加參數(shù)是為了方便memcache開發(fā)者(檢查其中的變動)。

slabid

用于與參數(shù)type聯(lián)合從指定slab分塊拷貝數(shù)據(jù),cachedump命令會完全占用服務器通常用于 比較嚴格的調(diào)試。

limit

用于和參數(shù)type聯(lián)合來設置cachedump時從服務端獲取的實體條數(shù)。

返回值

返回一個二維關聯(lián)數(shù)組的服務器統(tǒng)計信息或者在失敗時返回false。

范例

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

<?php
    $memcache_obj 
= new Memcache;
    
$memcache_obj->addServer('memcache_host'11211);
    
$memcache_obj->addServer('failed_host'11211);
    
    
$stats $memcache_obj->getExtendedStats();
    
print_r($stats);
?>

以上例程會輸出:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

參見