PHP 5.4.36 Released

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStatsObtener estadísticas de todos los servidores en el grupo

Descripción

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

Memcache::getExtendedStats() devuelve un array asociativo de dos dimensiones con estadísticas del servidor(es). Las llaves del array corresponden al servidor:puerto y los valores contienen las estadísticas de cada servidor. En caso de error el servidor tendrá su correspondiente entrada asignada a FALSE. También puede usar la función memcache_get_extended_stats().

Nota:

Esta función fue añadida en la versión 2.0.0. de Memcache.

Parámetros

type

Tipo de estadísticas a capturar. Valores válidos son {reset, malloc, maps, cachedump, slabs, items, sizes}. Según la especificación del protocolo de memcached estos son los argumentos adicionales "pueden estar sujetos a cambios por conveniencia de los desarrolladores de memcache".

slabid

Usado en conjunto con cachedump en el type para identificar el slap desde donde volcar. El comando cachedump va en conjunto con el servidor y debe ser usado estrictamente para propósitos de depuración.

limit

Usado en conjunto con cachedump en el type para limitar el número de entradas a volcar.

Advertencia

El tipo cachedump stat ha sido eliminado del demonio memcached por razones de seguridad.

Valores devueltos

Devuelve un array asociativo de dos dimensiones con las estadísticas o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de 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);
?>

El resultado del ejemplo sería:

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
)

Ver también

add a note add a note

User Contributed Notes 2 notes

up
5
manmca dot 2280 at gmail dot com
4 years ago
Get lists of all the keys stored in memcache server....

<?php
/**
* Function to get all memcache keys
* @author Manish Patel
* @Created:  28-May-2010 
*/
function getMemcacheKeys() {

   
$memcache = new Memcache;
   
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect to memcache server");

   
$list = array();
   
$allSlabs = $memcache->getExtendedStats('slabs');
   
$items = $memcache->getExtendedStats('items');
    foreach(
$allSlabs as $server => $slabs) {
        foreach(
$slabs AS $slabId => $slabMeta) {
          
$cdump = $memcache->getExtendedStats('cachedump',(int)$slabId);
            foreach(
$cdump AS $keys => $arrVal) {
                foreach(
$arrVal AS $k => $v) {                   
                    echo
$k .'<br>';
                }
           }
        }
    }   
}
//EO getMemcacheKeys()
?>

Hope it helps....
up
3
oushunbao at 163 dot com
3 years ago
Get lists of all the keys stored in memcache server....

<?php
/**
* Function to get all memcache keys
* @author Manish Patel
* @Created:  28-May-2010
* @modified: 16-Jun-2011
*/
function getMemcacheKeys() {

   
$memcache = new Memcache;
   
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect to memcache server");

   
$list = array();
   
$allSlabs = $memcache->getExtendedStats('slabs');
   
$items = $memcache->getExtendedStats('items');
    foreach(
$allSlabs as $server => $slabs) {
        foreach(
$slabs AS $slabId => $slabMeta) {
          
$cdump = $memcache->getExtendedStats('cachedump',(int)$slabId);
            foreach(
$cdump AS $keys => $arrVal) {
                if (!
is_array($arrVal)) continue;
                foreach(
$arrVal AS $k => $v) {                  
                    echo
$k .'<br>';
                }
           }
        }
    }  
}
//EO getMemcacheKeys()
?>

copy from up, but fix a warning
i only add one line:  if (!is_array($arrVal)) continue;
To Top