2011-12-07 5 views
7

Ho installato memcache e ora come faccio a visualizzare i dati in memcache?Come posso visualizzare i dati in memcache?

C'è un modo per vedere i dati presenti nella cache all'interno di memcache?

Come faccio a sapere veramente se memcache recupera i dati al suo interno?

Nota: non desidero scrivere alcun programma per visualizzare i dati all'interno di memcache. Fondamentalmente, il server memcache è già installato nel mio ambiente e sta memorizzando nella cache anche i dati. Ma mi piacerebbe sapere se ci sono programmi di utilità disponibili che mi mostreranno i dati memorizzati nella cache all'interno di memcache o se c'è qualche comando che mi mostrerà i dati memorizzati nella cache fino ad ora.

+0

Per cominciare è necessario un client memcached basato su Java; vedi http://stackoverflow.com/questions/731738/java-memcached-client –

+0

Vuoi dire che posso usare il client per visualizzare i dati nella cache all'interno di memcache ?? – Mike

+0

Un client mi sembrerebbe inutile se non si potesse usare a tale scopo. Ti suggerirei di effettuare una ricerca, quindi pubblicare una nuova domanda una volta che usi un cliente, se continui ad avere problemi. –

risposta

8

Non c'è modo di ottenere memcached per segnalare quali chiavi contiene. Credo che questa sia stata una scelta di design in quanto avrebbe avuto un impatto negativo sulle prestazioni.

Tuttavia, è possibile utilizzare qualsiasi applicazione client telnet per connettere il server memcached e digitare i comandi. Fare questo per ottenere o impostare una chiave particolare.

Per esempio,

stats 

o:

get MY_KEY 
6

per scaricare un elenco di chiavi da un server, utilizzare memdump strumento (a volte memcdump), ad esempio,

memdump --servers=localhost 

per ottenere il valore della voce, utilizzare netcat:

echo "get 13456_-cache-some_object" | nc 127.0.0.1 11211 

o in Bash:

exec {memcache}<>/dev/tcp/localhost/11211; printf "get items:42:number\nquit\n" >&${memcache}; cat <&${memcache} 

di scaricare tutti gli oggetti:

memdump --servers=localhost | xargs -L1 -I% sh -c 'echo "get %" | nc localhost 11211' 

o in Bash:

exec {memcache}<>/dev/tcp/localhost/11211; printf "stats items\nquit\n" >&${memcache}; cat <&${memcache} 
+1

Il binario può essere chiamato 'memcdump' invece di' memdump' sulla distro. –