`
zh_harry
  • 浏览: 99246 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
877aca81-daac-33c8-8bf9-3a886cebc6c3
自己动手写java 框架
浏览量:27149
社区版块
存档分类
最新评论

REDIS客户端封装实践2

    博客分类:
  • JAVA
阅读更多

接上一篇

[REDIS客户端封装意淫](https://www.jianshu.com/p/03132e0d50e2)

 

对现在有接口,进一步重构。

 

 

  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 分拆出来,单独部署,单独维护,单独版本控制。

实现类图如下


class-diagram.png
class-diagram.png

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

欢迎大家转载,也欢迎各位有兴趣的朋友一起加入.
由于个人能力有限,难免有些不足之处,警请谅解。谢谢!

GITHUB 地址

https://github.com/sparrowzoo/sparrow-sharded-jedis

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics