-
Flushing memcached servers the easy way
Posted on June 10th, 2008 7 commentsThis is easy right? Can’t you just restart the memcached server? Well yes, but you may cause errors in applications that are already connected to it. You can follow your memcached restart with an application restart, eg for a Ruby on Rails app:
# /etc/init.d/memcached restart && mongrel_rails cluster::restart
Of course if you have more than one application server you have to restart your app on every single one. This would work on an engineyard slice assuming you have the eycap gem installed:
$ cap production memcached:restart
$ cap production mongrel:restartRestarting your application is not ideal however, you will lose anything cached in memory, cause delays to users trying to access your site, that sort of thing.
So what can be done? The answer is really simple. Assuming a memcached running on the local machine on the default port:
$ echo ”flush_all” | nc localhost 11211
Easy!
7 responses to “Flushing memcached servers the easy way”
-
Morten October 7th, 2008 at 14:30
Nice Will. How about adding memcached:flush to the eycap gem? :-)
-
Genius Post! gotta <3 it. :)
-
Very Nice tip.
Thanksyou can also telnet to memcached and run many command such as stats
$ telnet localhost 11211
stats
-
You can also use this handy script to get similar results.
-
teo caber November 12th, 2009 at 16:22
nice, thx
as sidenote, you can do it throu telnet too:
telnet localhost 11211
flush_all -
Luca de Marinis January 8th, 2010 at 13:05
Hi, I noticed that nc hangs (for longer than I cared to check!) after sending the command.. how about adding -w 3 to have it close the socket after 3 seconds of inactivity? (I also tried -q, which looked even better, but sometimes it closed before I could read any answer back)
-
[...] Flushing memcached servers the easy way I highlighted a way to flush a memcached server without restarting [...]
Leave a reply
-


