Mcrouter is a memcached protocol router for scaling memcached deployments.
C++ Python C M4 Ragel in Ruby Host Shell Makefile
Latest commit 06fe5e4 Oct 21, 2016 @glamtechie glamtechie committed with Facebook Github Bot Check for client being null before logging retranmissions
Reviewed By: andreazevedo

Differential Revision: D4023402

fbshipit-source-id: b64deed4d1116edc85012af1200387b62ec408e3

Mcrouter Build Status

Mcrouter is a memcached protocol router for scaling memcached ( deployments. It's a core component of cache infrastructure at Facebook and Instagram where mcrouter handles almost 5 billion requests per second at peak.

Mcrouter is developed and maintained by Facebook.

See to get started.

Quick start guide

See for more detailed installation instructions.

Mcrouter depends on folly (

The installation is a standard autotools flow:

$ autoreconf --install
$ ./configure
$ make
$ sudo make install
$ mcrouter --help

Assuming you have a memcached instance on the local host running on port 5001, the simplest mcrouter setup is:

$ mcrouter \
                  "route":"PoolRoute|A"}' \
    -p 5000
$ echo -ne "get key\r\n" | nc 0 5000

(nc is the GNU Netcat,


  • Memcached ASCII protocol
  • Connection pooling
  • Multiple hashing schemes
  • Prefix routing
  • Replicated pools
  • Production traffic shadowing
  • Online reconfiguration
  • Flexible routing
  • Destination health monitoring/automatic failover
  • Cold cache warm up
  • Broadcast operations
  • Reliable delete stream
  • Multi-cluster support
  • Rich stats and debug commands
  • Quality of service
  • Large values
  • Multi-level caches
  • IPv6 support
  • SSL support


Documentation: Engineering discussions and support:


Copyright (c) 2016, Facebook, Inc. All rights reserved.

Licensed under a BSD license: