Skip to content
Mcrouter is a memcached protocol router for scaling memcached deployments.
Branch: master
Clone or download
andrewjcg and facebook-github-bot Add missing `#include`s to various sources
These missing headers cause build errors when these headers are `#include`d

Reviewed By: pixelb

Differential Revision: D16075906

fbshipit-source-id: a22e85d0087f8d22e475017d1cff46952757c211
Latest commit 3a0dcd8 Jul 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
mcrouter Add missing `#include`s to various sources Jul 18, 2019
.travis.yml Start using ubuntu 16 in travis-ci Nov 17, 2018
LICENSE Actually change the license Mar 8, 2018 Moved Ubuntu packaging scripts and deb repo to special branches (#305) Feb 19, 2019

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

New! Ubuntu package available

Currently, we support Ubuntu Xenial (16.04) and Bionic (18.04) amd64. Here is how to install it:

Add the repo key:

$ wget -O - | sudo apt-key add

For Xenial: add the following line to apt sources file /etc/apt/sources.list

deb xenial contrib

For Bionic: add the following line to apt sources file /etc/apt/sources.list

deb bionic contrib

Update the local repo cache:

$ sudo apt-get update

Install mcrouter:

$ sudo apt-get install mcrouter

Installing From Source

See for more detailed installation instructions.

Mcrouter depends on folly, wangle, fizz, and fbthrift.

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.

Licensed under the MIT license:

You can’t perform that action at this time.