Įrašiau linux'e memcached serverį, bet jis vistiek rodo senus duomenis. Kaip išvalyti visus memcached esančius duomenis?
Jūs galite padaryti memcache įrašus negaliojančiais atlikdami flush_all komandą. Ši komanda nesustabdo serverio veiklos ir neatlaisvina atminties, tik padaro įrašus pasenusiais.
netcat (nc) komandos pavyzdys
nc (netcat) komanda yra paprastas įrankis skirtas skaityti ir rašyti duomenis per tinklo susijungimą naudojant TCP ar UDP protokolą. Šiuo būdu lengva prisijungti prie memcached serviso ir padaryti nebegaliojančiais visus egzistuojančius įrašus:
echo 'flush_all' | nc localhost 11211
arba
echo 'flush_all' | netcat localhost 11211
arba
nc 192.168.1.10 11211<<<"flush_all"
Kur,
192.168.1.10 ir localhost yra memcached serverio ip, 11211 memcached serverio portas
Telnet komandos pavyzdys
Įveskite šią komandą:
telnet your-memcached-server-ip PORT
Šiame pavyzdyje prisijungiame prie 192.168.0.10 11211 ir atliekame flush_all komandą:
$ telnet 192.168.1.10 11212
Toliau vyksta:
Trying 192.168.1.10...
Connected to cache.tux.lt.
Escape character is ‘^]’.
flush_all
OK
quit
Connection to cache.tux.lt closed by foreign host.
Išversta iš http://www.cyberciti.biz/faq/linux-unix-flush-contents-of-memcached-instance/