美文网首页
Jedis类图及方法说明

Jedis类图及方法说明

作者: 丹之 | 来源:发表于2018-12-02 10:25 被阅读14次

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

其他类的设计作用如下:


ShardedJedis实现分析

ShardedJedis是基于一致性哈希算法实现的分布式Redis集群客户端;ShardedJedis的设计分为以下几块:

对象池设计:Pool,ShardedJedisPool,ShardedJedisFactory
面向用户的操作封装:BinaryShardedJedis,BinaryShardedJedis
一致性哈希实现:Sharded
关于ShardedJedis设计,忽略了Jedis的设计细节,设计类图如下:



关于ShardedJedis类图设计,省略了对象池,以及Jedis设计的以下细节介绍:


Sharded一致性哈希实现

shared一致性哈希采用以下方案:

  1. Redis服务器节点划分:将每台服务器节点采用hash算法划分为160个虚拟节点(可以配置划分权重)
  2. 将划分虚拟节点采用TreeMap存储
  3. 对每个Redis服务器的物理连接采用LinkedHashMap存储
  4. 对Key or KeyTag 采用同样的hash算法,然后从TreeMap获取大于等于键hash值得节点,取最邻近节点存储;当key的hash值大于虚拟节点hash值得最大值时,存入第一个虚拟节点

sharded采用的hash算法:MD5 和 MurmurHash两种;默认采用64位的MurmurHash算法;有兴趣的可以研究下,MurmurHash是一种高效,低碰撞的hash算法;参考地址:

http://blog.csdn.net/yfkiss/article/details/7337382

https://sites.google.com/site/murmurhash/

相关文章

  • Jedis类图及方法说明

    Jedis设计 Jedis作为推荐的java语言redis客户端,其抽象封装为三部分: 对象池设计:Pool,Je...

  • Fragment FragmentManager Fragmen

    Fragment相关类的关系及说明 UML类图 相关类说明 HostCallbacks:FragmentActiv...

  • jedis版本使用的java版本

    jedis版本对应的java版本 jedis:3.6.x及以上--> java 8 jedis:3.5.2及以下 ...

  • 06面向对象编程,A1员工管理

    目标及说明 目标: 熟悉掌握类、对象、属性、方法之间的关系 熟悉掌握类的定义和使用 掌握实例方法、静态方法的调用 ...

  • Jedis的简单使用

    说明 Redis大家都不陌生 自己也只是简单使用过 对于java web, Redis有对应封装好的类 Jedis...

  • 花名册动画

    一、效果图 二、使用方法 三、文件类说明 【XZPhotoModel】照片模型类:解析数据 【roster.pli...

  • uml类图关系说明及示例

    在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),...

  • jedis 调用模式

    1. jedis对应redis的四种工作模式 图1-1是Jedis的主要模块,Jedis,JedisClust...

  • redis-10-spring-boot

    [TOC] 说明 本文主要介绍使用spring-boot集成jedis的方式来操作redis。 至于jedis的单...

  • jedis 调用模式

    1. jedis对应redis的四种工作模式 image.png 图1-1是Jedis的主要模块,Jedis,J...

网友评论

      本文标题:Jedis类图及方法说明

      本文链接:https://www.haomeiwen.com/subject/eqfjcqtx.html