Intento
Para obtener una lista de claves en Bash, siga estos pasos.
Primero, defina la siguiente función de envoltura para que sea fácil de usar (copiar y pegar en el shell):
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31 y superior
Puede usar el lru_crawler metadump all
comando para volcar (la mayoría de) los metadatos de (todos) los elementos en el caché.
A diferencia de cachedump
, no causa problemas graves de rendimiento y no tiene límites en la cantidad de claves que se pueden volcar.
Comando de ejemplo utilizando la función definida previamente:
memcmd lru_crawler metadump all
Ver: ReleaseNotes1431 .
Memcached 1.4.30 y menos
Obtenga una lista de losas utilizando el comando de estadísticas de elementos , por ejemplo:
memcmd stats items
Para cada clase de slub, puede obtener una lista de elementos especificando la identificación del slub junto con el número límite ( 0
- ilimitado):
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
Nota: debe hacer esto para cada servidor memcached.
Para enumerar todas las claves de todos los apéndices, aquí tiene una línea (por servidor):
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
Nota: El comando anterior podría causar problemas graves de rendimiento al acceder a los elementos, por lo que no se recomienda ejecutarlo en vivo.
Notas:
stats cachedump
solo vuelca el HOT_LRU
(IIRC?), que es administrado por un subproceso en segundo plano a medida que ocurre la actividad. Esto significa que con una versión suficientemente nueva que habilitó el algoritmo 2Q, obtendrá vistas instantáneas de lo que hay en una de las LRU.
Si desea ver todo, lru_crawler metadump 1
(o lru_crawler metadump all
) es el nuevo método con soporte oficialmente mayoritario que volcará asincrónicamente tantas claves como desee. los sacará de servicio, pero afecta a todos los LRU y, a menos que esté eliminando / reemplazando elementos, varias ejecuciones deberían producir los mismos resultados.
Fuente: GH-405 .
Relacionado: