How To Flush Contents Of a Memcached Server Using Command Line

I have 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?

Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements None
Time 1m
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:

ADVERTISEMENTS

  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
On some system it may be called netcat, so try it as follows to remove all data of a memcached server running on Linux:
echo 'flush_all' | netcat localhost 11211
Try nc:
nc 192.168.1.10 11211<<<"flush_all"
Where,

  • 192.168.1.10 - memcached server instance
  • localhost - memcached server instance
  • 11211 - memcached server port.

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

## bash shortcut ##
alias flush_mem_cache_server="echo 'flush_all' | netcat 127.0.0.1 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 192.168.1.10 11211 and issue the flush_all command as follows:
$ telnet 192.168.1.10 11211
Sample outputs:

Trying 192.168.1.10...
Connected to cache01.nixcraft.net.in.
Escape character is '^]'.
flush_all
OK
quit
Connection to cache01.nixcraft.net.in 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/127.0.0.1/11211

Conclusion

This page explained how to flush contents of a memcached server running on a Linux or Unix-like systems using telnet or nc commands. For more information, see this page here.

🐧 If you liked this page, please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
10 comments… add one
  • javel Feb 5, 2012 @ 13:26

    Thanks.

  • Chin Jul 30, 2013 @ 15:26

    thanks

  • Johny Mar 3, 2014 @ 10:06

    $ telnet 192.168.1.10 11212 <- wrong port,
    should be: $ telnet 192.168.1.10 11211

    • 🐧 Nix Craft Mar 3, 2014 @ 10:36

      The faq has been updated. I appreciate your post.

  • T.Mini Mar 3, 2014 @ 10:40

    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
  • JFG Oct 19, 2014 @ 23:27

    With bash only:

    echo flush_all >/dev/tcp/127.0.0.1/11211

  • alex Jun 14, 2016 @ 9:40

    Thanks

  • Benjamin Nolan Jan 24, 2017 @ 12:25
    Escape character is ‘^]’.

    That’s one heck of an escape sequence! :p

    • 🐧 Vivek Gite Jan 24, 2017 @ 14:01

      Thanks for the heads up. I fixed page rendering.

  • Andy Mar 3, 2017 @ 18:05

    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 :)

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.