What It Does

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Memcached is an in-memory key-value store for small chunks of arbitrary data

(strings, objects) from results of database calls, API calls, or page rendering.
Memcached is a high-performance, distributed memory object caching system,
generic in nature, but originally intended for use in speeding up dynamic web applications by
alleviating database load.

What it Does:

memcached allows you to take memory from parts of your system where you have
more than you need and make it accessible to areas where you have less than you need.
memcached also allows you to make better use of your memory. If you consider the
diagram above, you can see two deployment scenarios:
1. Each node is completely independent (top).
2. Each node can make use of memory from other nodes (bottom).
The first scenario illustrates the classic deployment strategy, however you'll find that
it's both wasteful in the sense that the total cache size is a fraction of the actual capacity of
your web farm, but also in the amount of effort required to keep the cache consistent across
all of those nodes.

With memcached, you can see that all of the servers are looking into the same virtual
pool of memory. This means that a given item is always stored and always retrieved from the
same location in your entire web cluster.
Also, as the demand for your application grows to the point where you need to have
more servers, it generally also grows in terms of the data that must be regularly accessed. A
deployment strategy where these two aspects of your system scale together just makes sense.
The illustration above only shows two web servers for simplicity, but the property
remains the same as the number increases. If you had fifty web servers, you'd still have a
usable cache size of 64MB in the first example, but in the second, you'd have 3.2GB of
usable cache.
Of course, you aren't required to use your web server's memory for cache. Many
memcached users have dedicated machines that are built to only be memcached servers.

You might also like