Redis server is (and can be) mainly used as a single instance.
It supports now replication, in master slave mode. Master slave can be used for cool setup, where writes on slave dont block master and master can remain in memory while slave handle persistence on disk.
There is the “sentinel” work in progress, which can monitor instances and elect the new master when it fails.
But clustering is also about sharding, and “magic sharding” on server side is not the best way.
You should take care on this on your application layer, and know where your data go and what you do and after all the server do with it.
Here we have a cool sharding proxy for redis form the twitter team.
Yes, some “muti commands” are not supported.
But for a mainly key value store, sharding on keys seems to be a nice option.
Hope i can try this on one off my customer project where redis became the spof of our architecture ;)