[发明专利]缓存公共组件及其实现、安装与运行方法有效
申请号: | 202110953485.6 | 申请日: | 2021-08-19 |
公开(公告)号: | CN113722363B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 闫文 | 申请(专利权)人: | 成都民航西南凯亚有限责任公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/26;G06F16/215 |
代理公司: | 成都诚中致达专利代理有限公司 51280 | 代理人: | 曹宇杰 |
地址: | 610095 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 公共 组件 及其 实现 安装 运行 方法 | ||
本申请提供一种缓存公共组件及其实现、安装与运行方法,实现方法包括:S100注解申明及参数申明格式处理;S200注解解析配置;S300一级缓存封装:对分布式缓存的Redis的API进行封装,利用spring动态配置在加载时注入应用,以实现对第三方缓存的适配;S400二级缓存封装:使用map键值对的结构来实现本地缓存进行封装获得所述map结构,封装中对所述map的结构本身进行分区,并引入数据自动清除机制,用于在容量满或数据缓存时间到期时进行数据自动清除;S500可视化实现:使用vue实现前端可视化界面组件,以树形列表的形式展示当前缓存的内容。本方案使得缓存访问无网络请求开销,访问快,且可防止缓存穿透,具有更好的通用性和扩展性。
技术领域
本发明属于计算机技术领域,尤其涉及一种缓存公共组件及其实现、安装与运行方法。
背景技术
虽然有很多开源的缓存组件可以供使用,但是它往往并不是说加入到项目中就能起到多样化需求的作用,比如redis一般集成到的spring环境中来,解决在分布式缓存数据的问题,但是却无法解决它自身如果因为键值过期出现雪崩、或者redis服务本身因为网络、服务器宕机等因素带来的风险,特别是在高并发类场景,会直接导致主服务和数据库连接被打满,出现响应延迟、甚至最终资源耗尽被拖垮荡机的风险。
同时,现在数据库、数据库连接中间件等也提供了相关缓存技术,但是根本无法达到使用预期,例如mysql数据库自身就有Query Cache缓存技术,但是其本身只要因为表有更新发生,就会清除,实际环境中无法达到对一些补偿变更数据访问的快速响应以及扩展,并且mysql自身连接资源、网络资源都是有限的,同时也是技术架构访问链路得最底层,按照架构体系来说缓存也该前置才合理。
因此,除了有分布式缓存的同时,还应该有二级本地缓存来支撑,以防止缓存穿透以及分布式缓存失去服务能力的状况。但是服务本身能使用得缓存又遇到了无法适应多样化需求得情形,如:不能根据业务要求针对性的设置有效期以及自动删除等需要;同时原始应用场景查找、清除缓存都需要通过第三方的运维工具来进行,难以满足紧急情况下的需要,如出现了数据库和缓存不一致,排查问题都需要运维或直接登录其它运维介质来进行命令话的方式排查,极大的增加了运维难度。
发明内容
针对上述相关现有技术不足,本发明提供一种缓存公共组件及其实现、安装与运行方法,缓存访问无网络请求开销,访问快,且可防止缓存穿透,具有更好的通用性和扩展性。
为了实现本发明的目的,拟采用以下方案:
一种缓存公共组件实现方法,包括步骤:
S100、注解申明及参数申明格式处理:
通过java的@interface类进行自定义注解分布式缓存@DistributeCache,注解使用定义在接口函数入口处,并说明默认开启缓存服务,在所述java的@interface类中定义当前注解的配置参数,配置参数包括时间参数、控制参数、唯一key;
时间参数包括自定义过期时间,若用户没有进行自定义事件配置,则启用默认过期时间;自定义过期时间或默认过期时间用于定义一级缓存中的过期时间、二级缓存中的过期时间;
控制参数包括接口层面控制参数和全局配置参数。接口层面的控制参数,如:isOpen函数为接口处的申明,可以灵活的让当前接口启用或不启用缓存设置,方便后期测试、维护;全局配置参数,在应用的配置文件中进行配置,程序启动加载后赋值给globalIsOpen,其优先级最高,如果有全局配置存在,则接口处的isOpen不会再生效,会以全局缓存配置来开启或关闭当前应用中需要缓存功能的接口。globalisOpen为应用中总配置文件的配置,用于作为最高优先级一全局缓存配置来开启或关闭当前应用中使用了缓存注解分布式缓存@DistributeCache的接口函数的缓存;
唯一key用于在缓存的map结构存储中查找对应的缓存值 ;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都民航西南凯亚有限责任公司,未经成都民航西南凯亚有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110953485.6/2.html,转载请声明来源钻瓜专利网。