[发明专利]一种缓存更新方法、装置、服务器及存储介质有效
申请号: | 201911081374.X | 申请日: | 2019-11-07 |
公开(公告)号: | CN110837513B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 李海基 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;贾允 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 更新 方法 装置 服务器 存储 介质 | ||
本发明公开了一种缓存更新方法、装置、服务器及存储介质,其中,缓存更新方法包括:在接收到针对缓存中缓存数据的访问请求时,将所述访问请求中对应的缓存数据为无效缓存数据的访问请求确定为更新访问请求;确定第一预设时间间隔内所述更新访问请求的第一数量;当第一数量超过预设阈值时,为每个更新访问请求分配不同的延时更新时长;所述延时更新时长不超过第二预设时间间隔;根据更新访问请求的延时更新时长,从数据源中获取更新访问请求的缓存数据所对应的存储数据;根据所述存储数据对缓存中所述更新访问请求所对应的缓存数据进行更新。本发明避免了数据库的雪崩发生,且无需依赖额外的外部设备,不会增加额外的存储以及网络通信代价。
技术领域
本发明涉及计算机技术领域,特别涉及一种缓存更新方法、装置、服务器及存储介质。
背景技术
为了缓解数据源如数据库的压力、降低网络拥堵、提高响应速度,现有技术中采用缓存来存储使用频繁的数据,针对数据读取请求,先从缓存中读取数据,当缓存中没有该数据或者该数据失效时再从数据源如数据库中读取数据。
相关技术中,若多个并发请求的缓存数据同时失效则会出现缓存的并发更新,此时多个并发请求都会去请求数据源如数据库,从而给数据库造成极大的压力,甚至会导致数据库的雪崩,目前的主要解决措施是使用分布式锁或者队列排队进行更新,但是这些措施需要增加额外的存储设备以及增加额外的网络通信代价。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种缓存更新方法、装置、服务器及存储介质。所述技术方案如下:
一方面,提供了一种缓存更新方法,所述方法包括:
在接收到针对缓存中缓存数据的访问请求时,将所述访问请求中对应的缓存数据为无效缓存数据的访问请求确定为更新访问请求;
确定第一预设时间间隔内所述更新访问请求的第一数量;
当所述第一数量超过预设阈值时,为每个所述更新访问请求分配不同的延时更新时长;所述延时更新时长不超过第二预设时间间隔;
根据所述更新访问请求的延时更新时长,从数据源中获取所述更新访问请求的缓存数据所对应的存储数据;
根据所述存储数据对所述缓存中所述更新访问请求所对应的缓存数据进行更新
另一方面,提供了一种缓存更新装置,所述装置包括:
第一确定模块,用于在接收到针对缓存中缓存数据的访问请求时,将所述访问请求中对应的缓存数据为无效缓存数据的访问请求确定为更新访问请求;
第二确定模块,用于确定第一预设时间间隔内所述更新访问请求的第一数量;
分配模块,用于在所述第一数量超过预设阈值时,为每个所述更新访问请求分配不同的延时更新时长;所述延时更新时长不超过第二预设时间间隔;
第一获取模块,用于根据所述更新访问请求的延时更新时长,从数据源中获取所述更新访问请求的缓存数据所对应的存储数据;
更新模块,用于根据所述存储数据对所述缓存中所述更新访问请求所对应的缓存数据进行更新。
作为一个可选的实施方式,所述分配模块包括:
划分模块,用于将所述第二预设时间间隔划分为所述第一数量个子时间间隔;
分配子模块,用于为每个所述更新访问请求分配不同数量个所述子时间间隔;
第一计算模块,用于针对每个所述更新访问请求,计算所述更新访问请求所对应数量的所述子时间间隔的和值,得到所述更新访问请求的延时更新时长。
作为一个可选的实施方式,所述第一获取模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911081374.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆交流电传动系统
- 下一篇:注气开发油藏的地质模型建立方法