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....
Memcache::getExtendedStats
(PECL memcache >= 2.0.0)
Memcache::getExtendedStats — Obtener estadísticas de todos los servidores en el grupo
Descripción
$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
typepara 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
typepara limitar el número de entradas a volcar.
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
- Memcache::getVersion() - Devuelve la versión del servidor
- Memcache::getStats() - Obtiene estadísticas del servidor
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;
