[发明专利]一种缓存处理方法和装置在审
申请号: | 202210176279.3 | 申请日: | 2022-02-24 |
公开(公告)号: | CN114817320A | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 蔡子辉 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22;G06F16/23;G06F16/2453;G06F16/28;G06F9/445 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吴文心 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 处理 方法 装置 | ||
本发明实施例提供了一种缓存处理方法和装置,应用于缓存系统,所述方法包括:检测预设业务逻辑执行的数据操作指令,对数据操作指令进行拦截操作;通过用于操作数据的执行语句和预置的缓存清除配置表判定当前需要删除缓存的数据表;根据用于操作数据的执行语句和当前需要删除缓存的数据表在缓存清除配置表中相应的目标配置信息,确定被操作的数据集合;调用预设缓存清除策略修改被操作的数据集合。通过拦截数据修改指令,避免在每次对数据库进行操作时均需要进行是否清除缓存的判断,减小工作量,并通过预置的缓存清除配置表对删除缓存进行判定,使得代码集中,且由于无需对删除缓存代码逻辑进行加载,无需改动现有业务代码,实现业务的无感知。
技术领域
本发明涉及计算机技术领域,特别是涉及一种缓存处理方法和一种缓存处理装置。
背景技术
为了减轻数据库的压力,系统可对数据进行缓存操作,在涉及到缓存的系统中,通常均可能会遇到Redis缓存(本质上是key-value存储系统)与数据库中数据不一致的问题。
在现有技术中,为了保证数据库和Redis缓存中的数据一致,可对每个对数据库有操作的地方进行判断,通过在数据库的代码前后添加删除缓存的逻辑,以删除需要删除的缓存,这种添加删除缓存逻辑的方式不仅工作量大,且还需要改动现有业务代码,对业务代码具有侵略性。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种缓存处理方法和相应的一种缓存处理装置。
本发明实施例公开了一种缓存处理方法,应用于缓存系统,所述方法包括:
检测预设业务逻辑执行的数据操作指令,对所述数据操作指令进行拦截操作;所述数据操作指令包含用于操作数据的执行语句;
通过所述用于操作数据的执行语句和预置的缓存清除配置表判定当前需要删除缓存的数据表;
根据所述用于操作数据的执行语句和所述当前需要删除缓存的数据表在所述缓存清除配置表中相应的目标配置信息,确定被操作的数据集合;
调用预设缓存清除策略清除所述被操作的数据集合。
可选地,还包括:
获取针对预设缓存中所缓存数据的配置数据,采用所述配置数据建立针对预设缓存的缓存清除配置表;其中,所述缓存清除配置表所包含的配置数据包括所缓存数据对应的数据表名称、用于执行语句搜索的列名称、数据表对应实体类的全限定名、针对所缓存数据的键值对以及延时删除间隔时间。
可选地,所述缓存清除配置表存储于数据库中,还包括:
在启动预设业务逻辑时,通过访问数据库将所述缓存清除配置表加载至缓存系统中。
可选地,所述通过所述用于修改数据的执行语句和预置的缓存清除配置表判定当前需要删除缓存的数据表,包括:
对所述用于修改数据的执行语句进行解析,得到需要被操作的数据表的表名;
若所述需要被操作的数据表的表名位于所述预置的缓存清除配置表的配置数据中,则确定位于所述缓存清除配置表的配置数据库中的数据表为当前需要删除缓存的数据表。
可选地,所述根据所述用于修改数据的执行语句和所述当前需要删除缓存的数据表在所述缓存清除配置表中相应的目标配置信息,确定被操作的数据集合,包括:
从预置的缓存清除配置表中获取与所述当前需要删除缓存的数据表相应的目标配置信息;
基于所述用于操作数据的执行语句与所述目标配置信息的拼接语句,得到被操作的数据集合。
可选地,所述执行语句包括针对数据库的查询条件信息,所述目标配置信息包括所述执行语句中针对所述当前需要删除缓存的数据表相应被检索的列名称;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210176279.3/2.html,转载请声明来源钻瓜专利网。