一种可扩展缓存访问方法、系统、装置及存储介质制造方法及图纸

技术编号:34456887 阅读:34 留言:0更新日期:2022-08-06 17:04
本发明专利技术涉及计算机技术领域,具体公开了一种可扩展缓存访问方法、系统、装置及存储介质;其中方法包括:通过AOP方式将缓存组件接入到项目中,生成类的动态代理对象,使缓存组件在开启缓存注解的条件下生效;在缓存组件内部定义一个接口,通过该接口扩展不同的缓存类型。采用本发明专利技术的技术方案能够大大减少了重复代码的编写,并且可以做到统一的进行修改,给开发人员带来了极大的方便,同时也给使代码更加简洁,满足不同场景的使用需求。满足不同场景的使用需求。满足不同场景的使用需求。

【技术实现步骤摘要】
一种可扩展缓存访问方法、系统、装置及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种可扩展缓存访问方法、系统、装置及存储介质。

技术介绍

[0002]微服务的架构具有能够应对高并发场景的优势,解决这种高并发场景的方法包括缓存、限流、降级等,其中缓存是比较重要的方法之一。缓存查询是直接读取内存中的数据,不用去数据库进行比较耗时的SQL操作,从而提高查询效率,提高系统的并发性能。
[0003]在基于微服务的架构中,很多的模块都基于java开发。Java应用中,缓存的方式比较多,比如常见的Redis、Spring缓存、Google Guava Cache等,不同的缓存有不同的特点,比如Redis缓存,属于第三方缓存,在集群环境中可以做到缓存一致,可将缓存数据持久化,单线程执行,不用加锁,基于内存,吞吐量高等优点;而Guava Cache和Spring缓存就是一个本地缓存,在集群环境中,不能做到缓存一致性,而且属于本地缓存,不会持久化,停机后数据就丢失,但这属于应用内的缓存,调用效率高,并且都采用java语言编写,可以定制化一些本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种可扩展缓存访问方法,其特征在于,包括:通过AOP方式将缓存组件接入到项目中,生成类的动态代理对象,使缓存组件在开启缓存注解的条件下生效;在缓存组件内部定义一个接口,通过该接口扩展不同的缓存类型。2.根据权利要求1所述的可扩展缓存访问方法,其特征在于:所述缓存注解包括若干属性,设置缓存注解属性的参数,如果没有设置属性的参数,则使用默认属性参数;属性包括:缓存的key、缓存类型、缓存过期时间、是否抛出异常和是否同步操作。3.根据权利要求2所述的可扩展缓存访问方法,其特征在于:所述缓存组件还集成有Redis缓存类型和自定义缓存类型;还包括查询步骤:接收用户的查询请求,命中缓存的数据就直接返回数据,没有命中缓存的数据,则根据不同类型缓存,执行数据库查询操作:如果用户选择Redis缓存类型,在用户主动查询数据库之后,如果成功查询到数据,根据缓存注解的属性,同步设置该数据到缓存;如果用户选择自定义缓存类型,在缓存中的数据过期之后,异步查询所需要的数据,并将数据设置到缓存。4.根据权利要求3所述的可扩展缓存访问方法,其特征在于:所述查询步骤具体包括:获取用户查询请求并解析,通过设置的缓存类型找到指定的缓存;如果对应的缓存类型不存在,或者没有对应的缓存实现类,打印错误日志;如果对应的缓存类型存在,则在指定的缓存进行下一步操作:如果缓存中有数据,并且没有过期,直接返回缓存的数据;如果没有找到对应的数据,则根据缓存类型的不同,采取不同的处理方式:如果为Redis缓存类型,缓存中数据过期,并且过期数据已被剔除,同步去数据库查询,并返回对应的实时数据;如果为自定义缓存类型,缓存中数据过期,数据仍然在缓存中,返回旧数据,并进行异步查询数据库,然后将查询到的数据库结果替换缓存中过期的数据。5.一种可扩展缓存访问系统,其特征在于,包括:缓存组件;缓存组件通过AOP方式接入到项目中,缓存组件用于生成类的动态代理对象,缓存组件在开启缓存注解的条件下生效;缓存组件包括至少一个接口,接口用于扩展不同...

【专利技术属性】
技术研发人员:华锋张尧郭子文朱明星陈林
申请(专利权)人:航天新通科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1