Jedis 与 ShardedJedis 设计
Jedis设计 Jedis作为推荐的java语言redis客户端,其抽象封装为三部分: 对象池设计:Pool,JedisPool,GenericObjectPool,BasePoolableObjectFactory,JedisFactory 面向用户的redis操作封装:BinaryJedisCommands,JedisCommands,BinaryJedis,Jedis 面向redis服务器的操作封装:Commands,Client,BinaryClient,Connection,Protocol 其类设计图如下: 关于common-pool的相关内容,可以参见: http://macrochen.iteye.com/blog/320077 其他类的设计作用如下: 类名 职责 Pool 抽象Jedis对象池操作;并委托给操作给GenericObjectPool JedisPool 实现Pool并提供JedisFactory工厂 JedisFactory 实现BasePoolableObjectFactory,提供创建,销毁Jedis方法 BinaryJedisCommands 抽象面向客户端操作的Redis命令;key,value都为序列化后的byte数组 JedisCommands 抽象面向客户端操作的Redis命令;提供String类型的key,value