debasishg/scala-redis — pull request #57 by kelaneren (2012-12-02 11:14:56+00:00)
Title: Patch for redis cluster

This patch contains two changes:

1. Redis node replacement support in redis cluster
2. fixed multi-threading bug in RedisCluster

Redis node replacement support is implemented in two solutions. One is to extend RedisClientPool to IdentifiableRedisClientPool which has a new field called poolname. Its poolname is used in hashring for sharding. This change is made in RedisCluster. Another one is implemented as RedisShards. Sharding is done on ClusterNode rather than RedisClientPool directly so that RedisClientPool is decoupled from hash ring. Each ClusterNode is mapped to a RedisClientPool. In this way, more info could be carried in sharded node if it's necessary for special case. Both solutions provide the same api. only small difference on what to shard.

Please choose solution and merge in.