Redis 的 sharded jedis 客户端实现 sparrow-sharded-jedis

Apache
Java 查看源码»
跨平台
2018-01-28
zh_harry

通过对 Redis 客户端的封装,从代码级别强制规范 key,使 Redis 方便管理和监控。

理论上框架可实现跨各种缓存的 db 的缓存层,且安全,友好,调用简洁。

功能列表:

  1. 进一步对客户端友好封装,对数据类型的转换,封装进框架内。

  2. 增加 CacheDataNotFound hook,并保留原有异常抛出接口,提供客户端灵活调用。

  3. 对 key 的 business 部分提供灵活扩展接口,为特定业务的监控提供扩展。

  4. 接口不只依赖 redis,理论上可以对 redis 的不同接口进行实现,包括 jedis sharded jedis jedisson 以及其他异构缓存系统。

  5. 将接口按类型进行拆分,避免类过于宠大,不利于维护。

  6. 提供 monitor 接口的 befare 和 montor 方法,客户端可根据需要进行扩展,如果需要对 redis 限流,可实现 before 接口,如果不需要则直接返回 true。

  7. 提供限流工具类。AbstractLock 客户端可以根本需要进行实现。

  8. 将 redis 客户端从 sparrow 分拆出来,单独部署,单独维护,单独版本控制。

实现类图如下

测试用例 https://github.com/sparrowzoo/sparrow-test

的码云指数为
超过 的项目
加载中

评论(1)

zh_harry
zh_harry 软件作者
Sparrow系列中的redis 客户端实现,朋友们持续关注,更新中

暂无资讯

暂无问答

jedis源码-分片路由

jedis分片相关的类有Sharded ShardInfo Jedis ShardInfo : ``` public abstract class ShardInfo { private int weight; //加权 protected abstract T createResource(); //创建jedis连接实...

2016/11/10 14:55
33
0
Jedis 与 ShardedJedis 设计

Jedis设计 Jedis作为推荐的java语言redis客户端,其抽象封装为三部分: 对象池设计:Pool,JedisPool,GenericObjectPool,BasePoolableObjectFactory,JedisFactory 面向用户的redis操作封装...

2016/06/07 08:52
106
0
Jedis动态分片实现

原文: Dynamic sharding implementation 请你看一下下面的建议然后告诉我你觉着怎么样。 当前,Jedis不支持动态分片。 如果我们从可用片中去添加/移除一个Redis Server,只有停止程序,改变...

2012/07/23 23:17
1K
1
Jedis之ShardedJedis一致性哈希分析

Jedis之ShardedJedis一致性哈希分析

2015/03/25 18:41
6.3K
1
基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案

基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案 http://www.tuicool.com/articles/naeEJbv 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案 时间 2014-02-21 15:15:17 IT...

2015/08/30 00:07
256
0
Jedis分片连接池(分布式)

一下内容来自网络,但是很多细节没有写出来,所以我经过自己琢磨,终于找到原因了。 Redis-2.4.15目前没有提供集群的功能,Redis作者在博客中说将在3.0中实现集群机制。目前Redis实现集群的方...

2016/08/29 16:41
26
0
Jedis的JedisSentinelPool源代码分析-监听切换事件

https://segmentfault.com/a/1190000002690506 本专栏与Redis相关的文章 Redis Sentinel机制与用法(一) Redis Sentinel机制与用法(二) Jedis的JedisSentinelPool源代码分析 Jedis的Shard...

2016/08/24 15:28
323
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部