I\'m looking to start using a key/value store for some side projects (mostly as a learning experience), but so many have popped up in the recent past that I\'ve got no idea
Only have experience with mongoDB, memchache and redis. Here's a comparison between them and couchDB.
Seems mongoDB is most popular. It support sharding and replication, eventually consistent, has good support in ruby (mongoid). It also have a richer feature set than the other two. All of mongo, redis and memchache can store the key-value in memory, but redis seems to be much faster, according to this post, redis is 2x write, 3x read faster than mongo. It has better designed data structures and more 'light-weight'.
I would say they have different usages, mongoDB is probably good for large dataset and document storage while memchache and redis are better to store caches or logs.