[发明专利]缓存清理方法、装置、计算机设备及存储介质有效
申请号: | 202110268927.3 | 申请日: | 2021-03-12 |
公开(公告)号: | CN112783886B | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 尹冲 | 申请(专利权)人: | 中国平安财产保险股份有限公司 |
主分类号: | G06F16/215 | 分类号: | G06F16/215 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 汪琳琳 |
地址: | 518000 广东省深圳市福田区益田路*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 清理 方法 装置 计算机 设备 存储 介质 | ||
本发明公开了一种缓存清理方法、装置、计算机设备及存储介质,所述方法包括:在检测到业务代码被执行时,启动观察者模式,基于观察者模式,对订阅事件进行收集,得到订阅事件清单,进而实时监听订阅事件清单中的每个订阅事件,若检测到订阅事件发生的消息,则将检测到的订阅事件作为目标事件,采用面向切面编程Aop的方式,对目标事件进行拦截,并进行缓存清理,本发明的技术方案提高了缓存清理效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存清理方法、装置、计算机设备及存储介质。
背景技术
在实际业务中,需要频繁访问数据库,为提高数据访问速度,一般都会通过缓存的方式来进行数据读写,这使得往往多个地方会使用到缓存,这样会导致缓存清空代码和业务代码耦合十分紧密,在缓存数据堆积到一定数量时,需要进行缓存清理的相关操作,但是,在不同业务处理逻辑中,数据库执行的事务,与进行缓存清理的事务,为同一个事务中时,会导致缓存的并发操作,使得旧的数据无法清理彻底,这容易导致缓存的读写出现异常。
目前的一些方案主要通过预设策略,定时对缓存进行清理,在清理过程中暂停缓存的读写操作,以避免上述异常情况,这使得部分数据访问受到影响,导致缓存清理的效率较低。
发明内容
本发明实施例提供一种缓存清理方法、装置、计算机设备和存储介质,以提高缓存清理的效率。
为了解决上述技术问题,本申请实施例提供一种缓存清理方法,包括:
在检测到业务代码被执行时,启动观察者模式;
基于所述观察者模式,对订阅事件进行收集,得到订阅事件清单;
实时监听所述订阅事件清单中的每个订阅事件,若检测到订阅事件发生的消息,则将所述检测到的订阅事件作为目标事件;
采用面向切面编程Aop的方式,对所述目标事件进行拦截,并进行缓存清理。
可选地,所述基于所述观察者模式,对订阅事件进行收集,得到订阅事件清单包括:
从IoC容器中收集BaseEventObserver类的每个实现类,作为目标实现类;
采用所述目标实现类对每一事件进行遍历,获取与缓存清理关联的事件,作为订阅事件;
把获取到的所述订阅事件存入到订阅事件清单中。
可选地,所述采用所述目标实现类对每一事件进行遍历,获取与缓存清理关联的事件,作为订阅事件包括:
采用所述目标实现类依次读取事件管理器中的事件;
判断所述事件管理器中的事件是否包含缓存清理指令,将包含缓存清理指令的事件作为订阅事件,并移除所述订阅事件中包含的缓存清理指令。
可选地,所述进行缓存清理包括:
获取预设的缓存清理指令,并解析所述预设的缓存清理指令,得到缓存清理指令中包含的变量,作为目标变量,所述缓存清理指令包括缓存配置指令、缓存数据更新指令和列表更新指令;
通过构造函数将所述目标变量初始化为缓存对象;
将所述预设的缓存清理指令抽象成缓存方法;
对所述缓存对象和缓存方法进行封装,得到缓存清理类;
采用所述缓存清理类进行缓存清理。
可选地,所述采用面向切面编程Aop的方式,对所述目标事件进行拦截,并进行缓存清理包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安财产保险股份有限公司,未经中国平安财产保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110268927.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实验用踝骨骨折造模器械及其使用方法
- 下一篇:连接组件及风扇