[发明专利]一种防缓存击穿方法及其注解组件在审

专利信息
申请号: 201910960329.5 申请日: 2019-10-10
公开(公告)号: CN110764920A 公开(公告)日: 2020-02-07
发明(设计)人: 石永明 申请(专利权)人: 北京美鲜科技有限公司
主分类号: G06F9/52 分类号: G06F9/52;G06F9/54;G06F16/2455
代理公司: 11526 北京航信高科知识产权代理事务所(普通合伙) 代理人: 郭鹏鹏
地址: 100029 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 缓存 读写操作 数据库 解析 结果写入缓存 查询请求 加锁成功 数据返回 击穿 加锁 移除 读取 读取单元 解析单元 判断步骤 判断单元 返回 注解 申请
【说明书】:

本申请涉及一种防缓存击穿方法,包括:解析步骤:解析查询请求,得到key;判断步骤:判断缓存中是否存在Key的对应数据;读取步骤:若缓存中存在Key的对应数据,则将该对应数据返回;若否,则对Key进行加锁,在加锁成功后,执行一组数据库读写操作,将该组数据库读写操作的结果写入缓存,移除锁,返回缓存中的结果。此外,还涉及一种防缓存击穿注解组件,包括:解析单元,用以解析查询请求,得到key;判断单元,用以判断缓存中是否存在Key的对应数据;读取单元,若缓存中存在Key的对应数据,则将该对应数据返回;若否,则对Key进行加锁,在加锁成功后,执行一组数据库读写操作,将该组数据库读写操作的结果写入缓存,移除锁,返回缓存中的结果。

技术领域

本申请属于防缓存击穿设计技术领域,具体涉及一种防缓存击穿方法及其注解组件。

背景技术

缓存注解组件通过面向切面的方式,注解需要缓存服务的业务方法,实现缓存的读写,让开发人员可以透明的使用缓存服务,无需关注缓存相关开发,从而可专注于业务开发。

spring3.x提供了缓存相关注解,可以实现面向切面方式缓存服务,其存在以下缺点:

1)、不防缓存击穿,缓存失效时,大量并发请求,直接落库造成数据库宕机;

2)、面向所有需求,所需功能繁多,开发配置繁琐;

3)、要求相关三方软件的版本匹配。

鉴于现有技术的上述缺陷提出本申请。

发明内容

本申请的目的是提供一种防缓存击穿方法及其注解组件,以于克服或减轻现有技术至少一方面的缺陷。

本申请的技术方案是:

本申请一方面提供一种防缓存击穿方法,包括以下步骤:

解析步骤:解析查询请求,得到key;

判断步骤:判断缓存中是否存在Key的对应数据;

读取步骤:若缓存中存在Key的对应数据,则将该对应数据返回;

若缓存中不存在Key的对应数据,则对Key进行加锁,在加锁成功后,执行一组数据库读写操作,将该组数据库读写操作的结果写入缓存,移除锁,返回缓存中的结果。

根据本申请的至少一个实施例,上述防缓存击穿方法的解析步骤还包括:解析查询请求,得到Key的失效时间;

读取步骤中,根据Key及Key的失效时间将数据库读写操作的结果写入缓存。

根据本申请的至少一个实施例,上述防缓存击穿方法的读取步骤中,移除锁,具体为:

在finally中移除锁。

根据本申请的至少一个实施例,上述防缓存击穿方法的读取步骤中,若对Key进行加锁未成功,则抛异常。

根据本申请的至少一个实施例,上述防缓存击穿方法的读取步骤中,对Key进行加锁,具体为:

使用JDK中的Lock对Key进行加锁。

根据本申请的至少一个实施例,上述防缓存击穿方法的读取步骤中,对Key进行加锁,具体为:

使用ConcurrentHashMap对key进行加锁。

根据本申请的至少一个实施例,上述防缓存击穿方法的读取步骤中,对Key进行加锁,具体为:

使用JVM的锁机制对Key进行加锁。

本申请另一方面提供一种防缓存击穿注解组件,包括:

解析单元,用以解析查询请求,得到key;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京美鲜科技有限公司,未经北京美鲜科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910960329.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top