← Tutti gli articoliLinux e strumenti

Linux e strumenti

Flush memcached - shell alias

Matteo Galacci ·

Per un’istanza Memcached locale di sviluppo che espone il protocollo testuale non autenticato, puoi inviare:

printf 'flush_all\r\nquit\r\n' | nc -w 2 127.0.0.1 11211

La risposta attesa è OK. Verifica che la tua variante di netcat supporti -w; il comando quit chiude la sessione del protocollo. flush_all invalida tutte le chiavi dell’istanza, anche quelle di altre applicazioni: non svuota un solo namespace e non restituisce immediatamente tutta la memoria al sistema.

Per questo è meglio un comando esplicito di un alias facile da lanciare per errore. In produzione la ricostruzione simultanea della cache può sovraccaricare il database. Non esporre Memcached su Internet; per connessioni TLS o autenticate usa un client appropriato.

Verifica prima di invalidare dati reali

Su un’istanza di sviluppo dedicata crea una chiave nota, verifica il valore, poi invia flush_all e rileggila. Con il protocollo testuale:

printf 'set prova 0 60 2\r\nok\r\nget prova\r\nflush_all\r\nget prova\r\nquit\r\n' | nc -w 2 127.0.0.1 11211

Prima del flush compaiono VALUE e ok; dopo compare END senza VALUE. L’operazione interessa comunque tutte le chiavi dell’istanza, quindi non eseguire questo test su una cache condivisa.

Fonti e approfondimenti