10 KiB

Memcache Commands

{{#include ../../banners/hacktricks-training.md}}

Commands Cheat-Sheet

Da https://lzone.de/cheat-sheet/memcached

I comandi supportati (quelli ufficiali e alcuni non ufficiali) sono documentati nel documento doc/protocol.txt.

Purtroppo la descrizione della sintassi non è molto chiara e un semplice comando di aiuto che elenchi i comandi esistenti sarebbe molto meglio. Ecco una panoramica dei comandi che puoi trovare nella source (a partire dal 19.08.2016):

Command Description Example
get Legge un valore get mykey
set Imposta una chiave incondizionatamente

set mykey

Assicurati di usare \r\n come interruzioni di riga quando usi strumenti CLI Unix. Ad esempio

printf "set mykey 0 60 4\r\ndata\r\n"
nc localhost 11211

add Aggiunge una nuova chiave add newkey 0 60 5
replace Sovrascrive una chiave esistente replace key 0 60 5
append Aggiunge dati a una chiave esistente append key 0 60 15
prepend Prepend dati a una chiave esistente prepend key 0 60 15
incr Incrementa il valore numerico della chiave di un numero dato incr mykey 2
decr Decrementa il valore numerico della chiave di un numero dato decr mykey 5
delete Elimina una chiave esistente delete mykey
flush_all Invalida immediatamente tutti gli elementi flush_all
flush_all Invalida tutti gli elementi in n secondi flush_all 900
stats Stampa statistiche generali stats
Stampa statistiche di memoria stats slabs
Stampa statistiche di allocazione di livello superiore stats malloc
Stampa informazioni sugli elementi stats items
stats detail
stats sizes
Resetta i contatori delle statistiche stats reset
lru_crawler metadump Dump (la maggior parte) dei metadati per (tutti) gli elementi nella cache lru_crawler metadump all
version Stampa la versione del server. version
verbosity Aumenta il livello di log verbosity
quit Termina la sessione quit

Traffic Statistics

Puoi interrogare le statistiche di traffico attuali utilizzando il comando

stats

Otterrai un elenco che fornisce il numero di connessioni, byte in/out e molto altro.

Esempio di output:

STAT pid 14868
STAT uptime 175931
STAT time 1220540125
STAT version 1.2.2
STAT pointer_size 32
STAT rusage_user 620.299700
STAT rusage_system 1545.703017
STAT curr_items 228
STAT total_items 779
STAT bytes 15525
STAT curr_connections 92
STAT total_connections 1740
STAT connection_structures 165
STAT cmd_get 7411
STAT cmd_set 28445156
STAT get_hits 5183
STAT get_misses 2228
STAT evictions 0
STAT bytes_read 2112768087
STAT bytes_written 1000038245
STAT limit_maxbytes 52428800
STAT threads 1
END

Statistiche di Memoria

Puoi interrogare le statistiche di memoria attuali utilizzando

stats slabs

Sure! Please provide the text you would like me to translate.

STAT 1:chunk_size 80
STAT 1:chunks_per_page 13107
STAT 1:total_pages 1
STAT 1:total_chunks 13107
STAT 1:used_chunks 13106
STAT 1:free_chunks 1
STAT 1:free_chunks_end 12886
STAT 2:chunk_size 100
STAT 2:chunks_per_page 10485
STAT 2:total_pages 1
STAT 2:total_chunks 10485
STAT 2:used_chunks 10484
STAT 2:free_chunks 1
STAT 2:free_chunks_end 10477
[...]
STAT active_slabs 3
STAT total_malloced 3145436
END

Se non sei sicuro di avere abbastanza memoria per la tua istanza memcached, controlla sempre i contatori di "evictions" forniti dal comando "stats". Se hai abbastanza memoria per l'istanza, il contatore "evictions" dovrebbe essere 0 o almeno non in aumento.

Quali Chiavi Sono Utilizzate?

Non esiste una funzione integrata per determinare direttamente l'attuale insieme di chiavi. Tuttavia, puoi utilizzare il

stats items

comando per determinare quanti chiavi esistono.

stats items
STAT items:1:number 220
STAT items:1:age 83095
STAT items:2:number 7
STAT items:2:age 1405
[...]
END

Questo aiuta almeno a vedere se vengono utilizzate delle chiavi. Per estrarre i nomi delle chiavi da uno script PHP che già accede a memcache, puoi utilizzare il codice PHP di 100days.de.

{{#include ../../banners/hacktricks-training.md}}