redis-cluster源码分析
1.JedisCluster实现JedisCommands和BasicCommands的接口.
2.JedisCluster创建时,初始化了个JedisClusterConnectionHandler对象,来管理redis cluster里的所有节点。初始化两个map:一个Key为ip:port,value为redis connection的map,另一个key为hash槽值,value为redis connection的map。
3.使用了模板方法的设计模式(JedisClusterCommand)对redis集群操作。
4.当对集群操作时,在JedisClusterCommand中,根据key的CRC16值返回当前的redis节点connection,然后由该connection进行操作。
5.当集群添加节点时,自动识别并添加节点到map中。
6.集群实现了失败重试机制。