写点什么

深入理解客户端篇之 Jedis

作者:邱学喆
  • 2022-11-13
    广东
  • 本文字数:395 字

    阅读完需:约 1 分钟

深入理解客户端篇之 Jedis

一. 概述

在早期与 redis 服务交互时,使用的官方提供的 jedis 包。现在针对 jedis 客户端是如何与 redis 交互的相关代码进行梳理。

二. Jedis

2.1 简单版

一个简单版本的客户端,流程图如下:

2.2 事务版本

2.3 连接池版

连接池的原理是借用 commons-pool 包的连接池。具体的逻辑在后续单独介绍。

2.4 其他

在 redis 部署架构中有主从,哨兵,以及集群部署,也有对应的类对象来承载。但最终都会流转到 jedis 对象与 redis 交互。具体的类图关系如下:

  • ShardedJedisPool——redis 集群,通过对 key 进行 hash 算法选出对应的 jedis 客户端。

  • JedisCluster——redis 集群,通过槽的方式选出对应的 jedisPool 对象,从而获取到对应的 jedis 客户端。

  • JedisSentinelPool——哨兵部署,其通过定时任务去检测哨兵服务,定时刷新目标 IP。

三. Spring Jedis

spring 的 jedis 客户端是一个适配模式,其最终还是流转到上面介绍的对象去与 redis 交互。

其交互与《Redis 篇之协议与序列化》中的时序图有所类似。


发布于: 刚刚阅读数: 3
用户头像

邱学喆

关注

签约作者;计算机原理的深度解读,源码分析 2018-08-26 加入

在IT领域keep Learning。要知其然,也要知其所以然。原理的爱好,源码的阅读。输出我对原理以及源码解读的理解。个人的仓库:https://gitee.com/Michael_Chan

评论

发布
暂无评论
深入理解客户端篇之 Jedis_redis_邱学喆_InfoQ写作社区