(PECL memcache >= 2.0.0)
Memcache::getExtendedStats — 緩存服務(wù)器池中所有服務(wù)器統計信息
$type
= ?, int $slabid
= ?, int $limit
= 100): arrayMemcache::getExtendedStats() 返回一個(gè)二維關(guān)聯(lián)數據的服務(wù)器統計信息。數組的key由host:port方式 組成,無(wú)效的服務(wù)器返回的統計信息被設置為false,同樣的,你可以使用函數memcache_get_extended_stats()。
注意:
這個(gè)函數在Memcache2.0.0版本加入。
注意:
(譯注)獲取Memcache內所有數據方法:首先使用getExtendedStats('slabs')獲取到每個(gè)服務(wù)器上活動(dòng)slabs分塊的id, 然后 使用getExtendedStats('cachedump', $slabid, $limit)來(lái)獲取每個(gè)slab里面緩存的項,其中$slabid是slab分塊id, $limit指 期望獲取其中的多少條記錄。
type
期望抓取的統計信息類(lèi)型,可以使用的值有{reset, malloc, maps, cachedump, slabs, items, sizes}。 通過(guò)memcached協(xié)議指定這些附加參數是為了方便memcache開(kāi)發(fā)者(檢查其中的變動(dòng))。
slabid
用于與參數type
聯(lián)合從指定slab分塊拷貝數據,cachedump命令會(huì )完全占用服務(wù)器通常用于
比較嚴格的調試。
limit
用于和參數type
聯(lián)合來(lái)設置cachedump時(shí)從服務(wù)端獲取的實(shí)體條數。
返回一個(gè)二維關(guān)聯(lián)數組的服務(wù)器統計信息或者在失敗時(shí)返回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);
?>
以上例程會(huì )輸出:
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 )