【技术实现步骤摘要】
基于spring框架的redis组件库的生成方法、装置、设备和介质
[0001]本专利技术涉及计算机领域,尤其涉及一种基于
spring
框架的
redis
组件库的生成方法
、
装置
、
设备和介质
。
技术介绍
[0002]随着
NoSQL
的兴起,很多后端应用会结合业务场景使用一些非关系型数据库,其中
redis
是后端开发人员普遍使用到的内存数据库,具有性能高,速度快
、
通用性强
、
适用场景丰富等优点
。
[0003]当前的
Java
平台已经存在一些
redis
客户端框架,比较常用的是
spring cache
框架和
redisson
框架,前者适用于缓存场景,后者适用于分布式锁场景,这些封装起来的框架在实际业务使用时还是有一定的门槛,程序员使用不当甚至还会出现严重的
bug
,另外这些框架主打通用化,还缺少一些真正业务场景上会遇到的特性
。
[0004]现有技术尚未存在一种既能拥抱主流标准框架,又能弥补业务上直接使用不足的组件库
。
技术实现思路
[0005]为了解决现有技术中开源的
redis
数据库在实际业务场景中存在使用门槛高,使用不当造成操作效率低甚至导致严重
bug
的技术问题,本专利技术 ...
【技术保护点】
【技术特征摘要】
1.
一种基于
spring
框架的
redis
组件库的生成方法,其特征在于,包括:按照预设改进规则对
spring data redis
组件,
spring cache
组件和
redisson
组件分别进行改进,以得到
spring data redis
增强组件,
spring cache
增强组件和
redisson
增强组件;获取预配置的
redis
工具类;根据所述
spring data redis
增强组件,所述
spring cache
增强组件
、
所述
redisson
增强组件和所述
redis
工具类生成核心模块;基于
spring boot starter
规范定义自动装配类,并按照预设顺序进行组装,以得到启动模块;将所述核心模块和所述启动模块进行封装,以得到所述基于
spring
框架的
redis
组件库
。2.
根据权利要求1所述的方法,其特征在于,按照预设改进规则中对
spring data redis
组件进行改进,以得到
spring data redis
增强组件,包括:在
redis key
进行序列化时加入应用前缀,以实现对
StringRedisSerializer
的重写;使用自定义的
ObjectMapper
实现
json
的序列化,以实现
Jackson2JsonRedisSerializer
的扩展;使用自定义的
RedisTemplate
,配置默认
value
序列化器
/hash value
序列化器为自定义的
Json
序列化器,以实现
spring boot
的覆盖
。3.
根据权利要求1所述的方法,其特征在于,按照预设改进规则对
spring cache
组件进行改进,以得到
spring cache
增强组件,包括:根据自定义配置生成缓存配置类对象,以实现
RedisCacheManager
的覆盖;通过在业务方法上加上注解
@Cacheable
,从而对所有缓存增加前缀名
cache
,以实现
CacheKeyPrefix
接口的重写及覆盖;默认通过冒号拼接多个方法入参,以实现
KeyGenerator
的自定义
。4.
根据权利要求1所述的方法,其特征在于,按照预设改进规则对
redisson
组件进行改进,以得到
redisson
增强组件,包括:基于
AOP
原理创建一个基于注解的切面;在
spring
框架上通过
BeanPostProcessor
实现对注解
@RedisLocked
的切入;使用所述
redisson
组件中的
RedissonClient
类实现加锁和解锁
。5.
根据权利要求4所述的方法,其特征在于,所述注解
@RedisLocked
的字段包括以下至少之一:所述
redis key
的前缀
storeID、
所述
...
【专利技术属性】
技术研发人员:孙康康,沈贵斌,周波,
申请(专利权)人:浙江惠瀜网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。