Which do you recommend, and why?
I recommend Redis. Why? Continue reading!!
Which one is the fastest?
I can’t say whether it’s the fastest. But Redis is fast. It’s fast because
it holds all the data in RAM. Recently, virtual memory feature was added but still all the keys stay in main memory with only rarely used values being swapped to disk.
Which one is the most stable?
Again, since I have no direct experience with the other key-value stores I can’t compare. However, Redis is being used in production by many web applications like GitHub and Instagram, among many others.
Which one is the easiest to set up and install?
Redis is fairly easy to setup. Grab the source and on a Linux box run make install. This yields redis-server binary that you could put it on your path and start it.
redis-server binds to port 6379 by default. Have a look at redis.conf that comes with the source for more configuration and setup options.
Which ones have bindings for Python and/or Ruby?
Redis has excellent Ruby and Python support.
In response to Xorlev’s comment below: Memcached is just a simple key-value store. Redis supports complex data types like lists, sets and sorted sets and at the same time provides a simple interface to these data types.
There is also make 32bit that makes all pointers only 32-bits in size even on 64 bit machines. This saves considerable memory on machines with less than 4GB of RAM.