HowTo: Flush Contents Of a Memcached Server Using Command Line

in Categories , , , , , , last updated January 24, 2017

I‘ve installed memcached server under Linux, but it is still showing old data. How do I flush the contents of a Memcached instance / server on Linux or Unix-like systems?

You can invalidate all existing cache items using the flush_all command. This command does not pause the server, as it returns immediately. It does not free up or flush memory at all, it just causes all items to expire. You can send flush_all command using any one of the following method:

  1. nc command – The nc (also know as netcat) utility is used for just about anything under the sun involving TCP or UDP.
  2. telnet command – The telnet command is used to communicate with another host using the TELNET protocol.

Flush all the content from Memcached via the CLI

netcat (nc) Command Example To Flush Contents Of Memcached Server

The nc (netcat) command is a simple unix utility which reads and writes data across network connections, using TCP or UDP protocol. It can simply connect to the memcached instance and and invalidate all existing cache:

echo 'flush_all' | nc localhost 11211


echo 'flush_all' | netcat localhost 11211


nc 11211<<<"flush_all"


  • – memcached server instance
  • localhost – memcached server instance
  • 11211 – memcached server port.

You can create a bash shell alias as follows in your ~/.bashrc file:

alias flush_mem_cache_server="echo 'flush_all' | netcat 11211"

And use it as follows:
$ flush_mem_cache_server

Telnet Command Example To Flush Contents Of Memcached Server

Type the following command:
telnet your-memcached-server-ip PORT
In this example connect to 11211 and issue the flush_all command as follows:
$ telnet 11211
Sample outputs:

Connected to
Escape character is '^]'.
Connection to closed by foreign host.

(Fig.01: telnet command in action – invalidate all existing cache items using flush_all command)

Use bash only to flush all the content from Memcached

The syntax is:

echo flush_all > /dev/tcp/

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 10 comments/add one below):

10 comment

  1. Apart from memcached server, I had css/js on-fly minified cache stored on /var/www/.diskcache. To flush disk cache at /var/www/.diskcache:

    find  /var/www/.diskcache -type f -iname "*" -delete
  2. Some of your examples show “flush all” and not “flush_all” – the latter of the two seems to be the correct command. If possible can you update the post examples with flush_all :)

    Have a question? Post it on our forum!