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


Apache
跨平台
Java

软件简介

通过对 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