Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

Come svuotare la cache di Memcache e Xcache da linea di comando

Due tra le piattaforme di caching più diffuse in ambito web sono Memcache e Xcache. Offrono prestazioni di alto livello e sono pressoché indispensabili per il buon funzionamento di un server web che ospiti un numero elevato di siti. Spesso però la loro presenza interferisce pesantemente con le attività di aggiornamento del codice e ostacola il lavoro dei dev che vogliono verificare in tempo (quasi) reale gli effetti delle proprio modifiche.

Ecco quindi le istruzioni su come svuotare la cache da linea di comando per entrambe le piattaforme.

Memcache

E’ sufficiente inviare al daemon, normalmente in ascolto sulla porta 11211, il comando flush_all e lo si può fare fondamentalmente in due modi: usando netcat o interagendo con il daemon mediante telnet.

Usando netcat si può adottare la sintassi che si preferisce:

$ echo 'flush_all' | nc localhost 11211

oppure

$ echo 'flush_all' | netcat localhost 11211

oppure

$ nc localhost 11211<<<"flush_all"

Usando telnet è necessario interagire con il daemon:

$ telnet localhost 11211

Una volta ricevuto il prompt, lanciate direttamente il comando flush_all e premete invio:

Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
flush_all
OK
quit
Connection closed by foreign host.

fonte: https://goo.gl/3vxv4K

Xcache

Con Xcache le cose si fanno un pochino più laboriose, perché è necessario definire le credenziali di accesso alle API del daemon, impostazioni che su Debian GNU/Linux si trovano nel file /etc/php5/conf.d/20-xcache.ini e che vanno settate come segue:

[xcache.admin]
xcache.admin.enable_auth = Off
; Configure this to use admin pages
xcache.admin.user = "admin"
xcache.admin.pass = "5f4dcc3b5aa765d61d8327deb882cf99"

Una volta presa questa precauzione, senza la quale è impossibile effettuare il flush, si può lanciare xcache_clear_cache direttamente da linea di comando:

php -r "xcache_clear_cache();"

fonti: https://goo.gl/cu0JGV, https://goo.gl/GMHJgk

 

 

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ivan Agliardi

Ivan Agliardi