content.md 1.6 KB

What is Memcached?

Memcached is a general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read.

Memcached's APIs provide a very large hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in least recently used order. Applications using Memcached typically layer requests and additions into RAM before falling back on a slower backing store, such as a database.

wikipedia.org/wiki/Memcached

How to use this image

docker run --name my-memcache -d memcached

Start your memcached container with the above command and then you can connect you app to it with standard linking:

docker run --link my-memcache:memcache -d my-app-image

The memcached server information would then be available through the ENV variables generated by the link as well as through DNS as memcache from /etc/hosts.

For infomation on configuring your memcached server, see the extensive wiki.

Known Issues

As of 1.4.21, memcached does not handle SIGTERM, so a standard docker stop will not stop it gracefully, but will resort to SIGKILL after the 10 second timeout. Use docker kill -s INT to do a clean stop of the memcached container. There is a PR to change this behavior upstream.