通过对Redis客户端的封装,从代码级别强制规范key,使Redis方便管理和监控。
理论上框架可实现跨各种缓存的db的缓存层,且安全,友好,调用简洁。
功能列表:
进一步对客户端友好封装,对数据类型的转换,封装进框架内。
增加CacheDataNotFoundhook,并保留原有异常抛出接口,提供客户端灵活调用。
对key的business部分提供灵活扩展接口,为特定业务的监控提供扩展。
接口不只依赖redis,理论上可以对redis的不同接口进行实现,包括jedisshardedjedisjedisson以及其他异构缓存系统。
将接口按类型进行拆分,避免类过于宠大,不利于维护。
提供monitor接口的befare和montor方法,客户端可根据需要进行扩展,如果需要对redis限流,可实现before接口,如果不需要则直接返回true。
提供限流工具类。AbstractLock客户端可以根本需要进行实现。
将redis客户端从sparrow分拆出来,单独部署,单独维护,单独版本控制。
实现类图如下
测试用例 https://github.com/sparrowzoo/sparrow-test
评论