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 rankings.