[发明专利]缓存获取方法、设备和计算机可读介质有效
| 申请号: | 202111004002.4 | 申请日: | 2021-08-30 |
| 公开(公告)号: | CN113742381B | 公开(公告)日: | 2023-07-25 |
| 发明(设计)人: | 李巍 | 申请(专利权)人: | 欧电云信息科技(江苏)有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/2453;G06F9/50 |
| 代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 杨东明;金学来 |
| 地址: | 215611 江苏省*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缓存 获取 方法 设备 计算机 可读 介质 | ||
本公开提供了一种缓存获取方法、设备和计算机可读介质,该方法包括以下步骤:接收传入的缓存相关参数,其中,缓存相关参数包括缓存值的键及刷新间隔;基于键,获取实际缓存对象;响应于实际缓存对象中的最后刷新时间与当前时刻之间的间隔大于或等于刷新间隔,触发异步缓存刷新逻辑以返回实际缓存对象中的业务缓存值。本公开提供的用于防止缓存击穿的缓存获取方法、设备和计算机可读介质,可以有效地使缓存动态刷新,能够通过一个统一的工具类获取缓存,利用一系列防止缓存击穿的缓存相关参数,作为获取缓存的入口,在其中封装所有防止缓存击穿的逻辑,从而提供更加稳定、实时、简易化的策略来防止缓存击穿,提升了软件开发效率。
技术领域
本公开涉及计算机软件技术领域,特别涉及一种用于防止缓存击穿的缓存获取方法、设备和计算机可读介质。
背景技术
随着软件用户量越来越多,流量提升到达数据库吞吐量瓶颈时软件开发人员往往会在流量到达数据库前加一道缓存层,通过查询缓存数据的方式减轻数据库压力从而提高系统整体的查询性能与吞吐量。
参考图2所示,添加了缓存层后的系统模型主要包括四个组成部分:客户端、服务端、缓存、数据库。其中,客户端是指实际发送数据请求的端,而服务端就是提供数据请求服务的程序,接收到客户端的请求后会去对应的缓存层中查询,若根据请求参数查询到了对应的缓存数据则直接返回,若未查询到则会查询数据库并返回数据。
在为应用增加缓存层时,如果由于缓存到期、冷启动等原因导致缓存失效,此时恰好遇到大量的并发请求,这些请求将直接穿过缓存访问到后端数据从而导致服务或数据库压力陡增,最终将降低系统的吞吐量和响应速度,严重的甚至会导致服务宕机。这种缓存失效时又突然面临大量请求的场景就被称为缓存击穿。
目前,面临缓存击穿场景时主流的解决方式一般为以下两种:
1、加互斥锁的方式。在并发的多个请求中,只有第一个请求线程能拿到锁并执行数据库查询操作,其他的线程拿不到锁就阻塞等待,等到第一个线程将数据写入缓存后,直接走缓存。
2、热点数据永不过期的方式。直接将缓存设置为不过期,然后由定时任务去异步加载数据,更新缓存。这种方式适用于比较极端的场景,例如,流量非常大的场景,可以保证每次获取缓存都必定有数据。
但是,以上两种解决方式都具有以下明显的缺陷,导致无法有效地满足各项需求。
加互斥锁的方式,刷新缓存会使多个线程在程序中阻塞,只能缓解数据库的压力不能缓解服务本身的压力。如果创建的线程数达到了操作系统的上限,或者内存被创建的线程消耗完毕,则会导致程序本身的崩溃。
使缓存永不过期然后使用定时任务刷新的方式,由于其定时刷新特性,使用时需要开发人员考虑业务能接受的数据不一致的时间。还有对于异常情况的处理,如果某一次刷新时由于服务和缓存层的网络出现问题导致缓存刷新不上,就会导致好几个刷新窗口期间一直是脏数据。
而且,在系统中引入定时任务的方式由于需要保证定时任务的可靠性,因此必须得用分布式定时任务解决方案,需要在主逻辑之外的独立线程或进程中执行更新逻辑,会增加系统的复杂度。并且定时更新时不一定数据有变化,在无人访问时段刷新更是没有意义。
综上所述,目前的解决缓存击穿的方式,存在使用缓存层遇到的缓存击穿场景难以防护、解决方案实现复杂、效率低等问题。
发明内容
本公开的主要目的在于,提供一种用于防止缓存击穿的缓存获取方法、设备和计算机可读介质,以改善现有技术中存在的上述缺陷。
本公开是通过下述技术方案来解决上述技术问题:
作为本公开的一方面,提供一种缓存获取方法,包括以下步骤:
接收传入的缓存相关参数,其中,所述缓存相关参数包括缓存值的键及刷新间隔;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于欧电云信息科技(江苏)有限公司,未经欧电云信息科技(江苏)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111004002.4/2.html,转载请声明来源钻瓜专利网。





