bash
Per ottenere un elenco di chiavi in Bash, attenersi alla seguente procedura.
Innanzitutto, definisci la seguente funzione wrapper per renderla semplice da usare (copia e incolla nella shell):
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31 e versioni successive
È possibile utilizzare il lru_crawler metadump allcomando per scaricare (la maggior parte) dei metadati per (tutti) gli elementi nella cache.
Al contrario cachedump, non causa gravi problemi di prestazioni e non ha limiti sulla quantità di chiavi che è possibile scaricare.
Esempio di comando utilizzando la funzione precedentemente definita:
memcmd lru_crawler metadump all
Vedi: ReleaseNotes1431 .
Memcached 1.4.30 e precedenti
Ottieni un elenco di lastre utilizzando il comando statistiche articoli , ad esempio:
memcmd stats items
Per ogni classe slub, puoi ottenere un elenco di elementi specificando l'id slub insieme al numero limite ( 0- illimitato):
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
Nota: è necessario eseguire questa operazione per ciascun server memcached.
Per elencare tutte le chiavi di tutti gli stub, ecco il one-liner (per un server):
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
Nota: il comando sopra potrebbe causare gravi problemi di prestazioni durante l'accesso agli elementi, quindi non è consigliabile eseguire in diretta.
Appunti:
stats cachedumpesegue il dump di solo HOT_LRU(IIRC?), che viene gestito da un thread in background quando si verifica l'attività. Ciò significa che con una versione abbastanza nuova abilitata dall'algoritmo 2Q, otterrai una vista istantanea di ciò che è in una delle LRU.
Se vuoi vedere tutto, lru_crawler metadump 1(o lru_crawler metadump all) è il nuovo metodo per lo più supportato ufficialmente che scaricherà in modo asincrono tutte le chiavi che vuoi. li toglierai dall'ordine ma colpirà tutti gli LRU e, a meno che tu non stia eliminando / sostituendo gli articoli, più esecuzioni dovrebbero produrre gli stessi risultati.
Fonte: GH-405 .
Relazionato: