When using memcached you can use a number of different potential deployment strategies and
topologies. The exact strategy to use depends on your application and environment. When developing
a system for deploying memcached within your system, keep in mind the following points:
• memcached is only a caching mechanism. It shouldn't be used to storę information that you cannot
otherwise afford to lose and then load from a different location.
• There is no security built into the memcached protocol. At a minimum, make surę that the servers
running memcached are only accessible from inside your network, and that the network ports being
used are blocked (using a firewall or similar). If the information on the memcached servers that is
being stored is any sensitive, then encrypt the information before storing it in
memcached.
• memcached does not provide any sort of failover. Because there is no communication between
different memcached instances. If an instance fails, your application must capable of removing it from
the list, reloading the data and then writing data to another memcached instance.
• Latency between the clients and the memcached can be a problem if you are using different physical
machines for these tasks. If you find that the latency is a problem, move the memcached instances to be on the clients.
• Key length is determined by the memcached server. The defaułt maximum key size is 250 bytes.
• Try to use at least two memcached instances, especially for multiple clients, to avoid having a single
point of failure. Ideally, create as many memcached nodes as possible. When adding and removing
memcached instances from a pool, the hashing and distribution of key/value pairs may be affected.
For information on howto avoid problems, see Section 15.6.2.4, “memcached Hashing/Distribution T ypes”.