Kaip išvalyti visus memcache duomenis per komandinę eilutę

Kaip išvalyti visus memcache duomenis per komandinę eilutę

Standartinė MKas » 2013-07-05 10:02:26

Į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/
Vartotojo avataras
MKas
Site Admin
 
Pranešimai: 120
Užsiregistravo: 2010-08-09 13:49:06
Miestas: Lithuania, Vilnius

Grįžti į memcache

Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 0 svečių

cron

x