Redis java客户端 jedis 源码分析系列一:概述
Jedis 是 Redis java语言的客户端,使用普遍,现就其原理及源码与大家进行交流,欢迎指正和讨论,同时也欢迎转载,谢谢大家。
Jedis对外提供的操作对象有如下四种基础对象(暂未加入pipeline):
Jedis,最基础的Redis操作对象,也是单Redis实例最常用的客户端操作对象
JedisPool,Jedis池化对象,通过common-pools实现的对象池,对Jedis进行池化管理
JedisCluster,Redis原生集群方案,通过JedisPool实现
ShardedJedis,Redis客户端分片方案,通过Jedis实现,未使用池化技术
如下图所示:
这里的4个对象,主要体现了三类Redis组态,即:
单实例
多实例分片
集群
对应关系如下:
组态 |
类 |
说明 |
单实例 |
Jedis |
单实例,单连接 |
JedisPool |
单实例,连接池 |
|
多实例分片 |
ShardedJedis |
客户端哈希分片,通常采用一致性哈希算法,单结点单连接 |
集群 |
JedisCluster |
Redis原生集群方案,每个主节点都有连接池 |
以上类图中各个类的用途在后面的章节进行详细叙述。
转载于:https://blog.51cto.com/redleafstudios/2066543