[发明专利]防缓存击穿方法、装置、设备及可读存储介质在审
申请号: | 202111533275.8 | 申请日: | 2021-12-15 |
公开(公告)号: | CN114201466A | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 庄志辉 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F16/176 | 分类号: | G06F16/176;G06F16/22;G06F16/2455 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 击穿 方法 装置 设备 可读 存储 介质 | ||
本发明涉及数据存储领域,揭露一种防缓存击穿方法,包括:接收到查询请求时,从所述查询请求中筛选出同源查询请求,将所述同源查询请求中第一个查询请求发送至本地缓存,并对所述同源查询请求中剩余的查询请求进行加锁;从所述查询请求中筛选出异源查询请求,判断所述本地缓存中是否存在与所述异源查询请求对应的查询数据;当所述本地缓存中不存在与所述异源查询请求对应的查询数据时,将所述异源查询请求中相同待查询数据标签对应的查询请求中的第一个查询请求发送至后台数据库,并对剩余的相同待查询数据标签对应的查询请求进行加锁。本发明还提出一种防缓存击穿装置、设备以及存储介质。本发明可以降低后台数据库出现缓存击穿的概率。
技术领域
本发明涉及数据存储领域,尤其涉及一种防缓存击穿方法、装置、电子设备及可读存储介质。
背景技术
正常情况下,用户获取数据时,IO单元首先去缓存中查看用户所需数据是否存在,当缓存中没有用户所需数据时,IO单元再进入数据库获取数据。
当多名用户同时请求获取缓存中没有但数据库中有的数据时,由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,从而造成缓存击穿。缓存击穿导致数据库压力多大,影响用户获取数据的速度,甚至会出现服务器宕机。
发明内容
本发明提供一种防缓存击穿方法、装置、电子设备及计算机可读存储介质,其目的在于降低后台数据库出现缓存击穿的概率。
为实现上述目的,本发明提供的一种防缓存击穿方法,包括:
预设时间段内接收到超过预设数量的查询请求时,获取所述查询请求的来源;
从所述查询请求中筛选出来源相同的查询请求,得到同源查询请求,并按照所述查询请求的接收时间,从所述同源查询请求中选择第一个查询请求发送至本地缓存,并利用预设的防重放锁对所述同源查询请求中剩余的查询请求进行加锁;
从所述查询请求中筛选出来源不相同的查询请求,得到异源查询请求,提取所述异源查询请求中的待查询标签;
判断本地缓存中是否存在与所述待查询数据标签对应的查询数据;
若所述本地缓存中存在与所述待查询数据标签对应的查询数据,则将所述待查询数据标签对应的所述查询请求发送至本地缓存;
若所述本地缓存中不存在与所述待查询数据标签对应的查询数据,则从所述待查询数据标签中筛选出相同待查询数据标签及不同待查询数据标签;
根据所述相同待查询数据标签对应的查询请求的接收时间,将所述相同待查询数据标签对应的查询请求中的第一个查询请求发送至后台数据库,并利用预设的缓存刷新锁对剩余的相同待查询数据标签对应的查询请求进行加锁;
将所述不同待查询数据标签对应的查询请求放入预设的消息队列中,根据所述消息队列,将所述不同待查询数据标签对应的查询请求发送至后台数据库。
可选地,所述从所述查询请求中筛选出来源相同的查询请求,得到同源查询请求,包括:
解析所述查询请求,得到所述查询请求相对应的地址索引标签;
从所述地址索引标签中提取所述查询请求的IP地址;
从所述查询请求中挑选IP地址相同的查询请求,得到同源查询请求。
可选地,所述解析所述查询请求,得到所述查询请求相对应的地址索引标签,包括:
利用预设的服务连接器对所述查询请求进行解析,得到所述查询请求的请求头;
提取所述请求头中的统一资源定位符,并对所述统一资源定位符进行翻译,得到所述查询请求相对应的地址索引标签。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111533275.8/2.html,转载请声明来源钻瓜专利网。