If you are using memcached or are planning to you might wonder wether, giving the age of memcached being over 10 years, it is the right tool for a scalable, robust and easy to use key-value store.
Below is a list of tools competing with memcached in some manner and a probably subjective rating of each.
|Name||Difference||Why [Not] Use It?|
|memcached||%||Because it simple and fast|
|memcachedb||Persistence with BDB||Because it is a simple and fast as memcached and allows easy persistence and backup. But not maintained anymore since 2008!|
|BDB||Simple and old||Use when you want an embedded database. Rarely used for web platforms. Has replication.|
|CouchDB, CouchBase||HTTP transport. Tries to find a middleground between heavy RDBMS and a key-value store cache.||Sharding, replication and online rebalancing. Often found in small Hadoop setup. Easy drop-in for memcached caching in nginx.|
|DynamoDB||HTTP transport, Amazon cloud||If you are in AWS anyway and want sharding and persistency
|Redis||Hashes, Lists, Scanning for Keys, Replication||Great bindings. Good documentation. Flexible yet simple data types.
Slower than memcached (read more).|
|Riak||Sharded partitioning in a commerical cloud.||Key-value store as a service. Transparent scaling. Automatic sharding. Map reduce support.|
|Sphinx||Search Engine with SQL query caching||Supports sharding and full text search. Useful for static medium data sets (e.g. web site product search)|
|MySQL 5.6||Full RDBMS with memcached API||Because you can run queries against the DB via memcached protocol.|
There are many more key-value stores. If you wonder what else is out there look at the db-engines.com