[发明专利]缓存获取方法、设备和计算机可读介质有效
| 申请号: | 202111004002.4 | 申请日: | 2021-08-30 |
| 公开(公告)号: | CN113742381B | 公开(公告)日: | 2023-07-25 |
| 发明(设计)人: | 李巍 | 申请(专利权)人: | 欧电云信息科技(江苏)有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/2453;G06F9/50 |
| 代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 杨东明;金学来 |
| 地址: | 215611 江苏省*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缓存 获取 方法 设备 计算机 可读 介质 | ||
1.一种缓存获取方法,其特征在于,包括以下步骤:
接收传入的缓存相关参数,其中,所述缓存相关参数包括缓存值的键及刷新间隔;
基于所述键,获取实际缓存对象;以及,
响应于所述实际缓存对象中的最后刷新时间与当前时刻之间的间隔大于或等于所述刷新间隔,触发异步缓存刷新逻辑以返回所述实际缓存对象中的业务缓存值;
所述缓存相关参数还包括用于加载缓存值的dataLoader函数;
所述基于所述键,获取实际缓存对象的步骤,包括:
响应于获取不到所述键对应的实际缓存对象,执行所述dataLoader函数以得到业务缓存值;
创建实际缓存对象,在所述实际缓存对象中设置业务缓存值并将当前时刻作为最后刷新时间;
将所述实际缓存对象保存至缓存服务;
返回通过执行所述dataLoader函数得到的业务缓存值;
所述缓存相关参数还包括用于刷新线程的持有分布式锁的最大锁定时间;
所述响应于所述实际缓存对象中的最后刷新时间与当前时刻之间的间隔大于或等于所述刷新间隔,触发异步缓存刷新逻辑以返回所述实际缓存对象中的业务缓存值的步骤,具体包括:
响应于所述实际缓存对象中的最后刷新时间与当前时刻之间的间隔大于或等于所述刷新间隔,创建新线程以执行异步缓存刷新逻辑;
通过新线程根据所述键获取一个分布式锁,其中,将所述最大锁定时间作为锁定的最大时间;
响应于获取到所述锁,执行所述dataLoader函数以得到需要缓存的业务缓存值;
创建实际缓存对象,在所述实际缓存对象中设置业务缓存值并将当前时刻作为最后刷新时间;
将实际缓存对象保存到缓存服务,并且释放当前线程持有的分布式锁。
2.如权利要求1所述的缓存获取方法,其特征在于,所述创建新线程以执行异步缓存刷新逻辑的步骤,包括:
返回已存在的实际缓存对象中的业务缓存值,并且创建新线程以执行异步缓存刷新逻辑。
3.如权利要求2所述的缓存获取方法,其特征在于,所述返回已存在的实际缓存对象中的业务缓存值的步骤,包括:
无阻塞返回已存在的实际缓存对象中的业务缓存值。
4.如权利要求1所述的缓存获取方法,其特征在于,所述基于所述键,获取实际缓存对象的步骤,包括:
响应于获取到所述键对应的实际缓存对象,取出并返回所述实际缓存对象中的业务缓存值。
5.如权利要求1所述的缓存获取方法,其特征在于,还包括:
响应于所述实际缓存对象中的最后刷新时间与当前时刻之间的间隔小于所述刷新间隔,返回所述实际缓存对象中的业务缓存值。
6.如权利要求1所述的缓存获取方法,其特征在于,所述缓存相关参数还包括所述键的实际过期时间。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现如权利要求1~6中任意一项所述的缓存获取方法。
8.一种计算机可读介质,其上存储有计算机指令,其特征在于,所述计算机指令在由处理器执行时实现如权利要求1~6中任意一项所述的缓存获取方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于欧电云信息科技(江苏)有限公司,未经欧电云信息科技(江苏)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111004002.4/1.html,转载请声明来源钻瓜专利网。





