【技术实现步骤摘要】
本申请涉及缓存
,特别是涉及一种缓存数据的刷新方法和一种缓存数据的刷新装置。
技术介绍
随着信息技术和网络技术的发展,大多数应用出于性能考虑都会采用缓存技术,一般是在系统启动时将一些常用的原数据从配置文件等数据源中读取并缓存,以提升针对读多写少的数据的访问性能。如果原数据有修改或过期则需要对缓存的数据进行刷新。在针对访问热点的缓存数据的情况中,海量的前端请求同时发现某缓存的数据需要被刷新,则同时冲到后端系统(如数据库)获取最新的数据,对后端系统造成瞬时的极大冲击,对整个系统的性能和稳定性造成很大影响。因此,通常需要在刷新缓存数据时,引入某种控制措施,不让所有的请求都冲到后端系统去做最新的数据的读操作,以及缓存数据的写操作。一种方式是基于程序内同步锁(分布式环境中使用分布式锁)或其他类似的外部排他机制如数据库行级锁(如SELECTGET_LOCK()...RELEASE_LOCK(),SELECT…FORUPDATE等)的方法进行刷新。另一种方式是基于异步任务的方法刷新。但是,基于锁的方式中,锁都有一定的系统开销,会增加系统的复杂度;基于异步任务的方式,都依赖额外的软件组件或服务,增加了额外的依赖,降低了整体系统的维护性和稳定性,存在额外的系统开销,同时也会增加系统的复杂度。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种缓存的刷新机制,保证系统的维护性和稳 ...
【技术保护点】
一种缓存数据的刷新方法,其特征在于,包括:接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;判断所述缓存数据是否符合预设的旧数据条件;当符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。
【技术特征摘要】
1.一种缓存数据的刷新方法,其特征在于,包括:
接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效
时间;
判断所述缓存数据是否符合预设的旧数据条件;
当符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓
存数据。
2.根据权利要求1所述的方法,其特征在于,所述缓存数据库包括
Key-Value数据库。
3.根据权利要求1所述的方法,其特征在于,所述缓存数据还具有软
失效时间和/或刷新标识;所述刷新标识具有刷新时间戳;
所述根据所述查询请求判断所述缓存数据是否符合预设的旧数据条件
的步骤包括:
判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间
戳;若是,则判断符合旧数据条件;
或者,
当检测到刷新标识时,判断符合旧数据条件。
4.根据权利要求1或2或3所述的方法,其特征在于,所述根据所述
硬失效时间和当前时间随机刷新所述缓存数据的步骤包括:
采用所述硬失效时间和当前时间计算特征数值;
调用随机函数,获得随机数值;
当所述特征数值大于所述随机数值时,刷新所述缓存数据。
5.根据权利要求4所述的方法,其特征在于,所述刷新所述缓存数据
的步骤包括:
获取所述缓存数据对应的原数据;
采用所述原数据刷新在缓存数据库中的所述缓存数据。
6.根据权利要求4所述的方法,其特征在于,所述采用所述硬失效时
间和当前时间计算特征数值的步骤包括:
计算当前时间与所述硬失效时间之间的间隔时间;
采用所述间隔时间计算特征数值;其中,所述特征数值与所述间隔时间
成反比。
7.根据权利要求6所述的方法,其特征在于,通过以下公式计算特征
数值:
(w-xw)8]]>其中,w为所述缓存数据的软失效时间或刷新标识的刷新时间戳、与硬
失效时间之间的差值,x为间隔时间。
8.根据权利要求1或2或3或5或6或7所述的方法,其特征在于,
还包括:
对刷新后的所述缓存数据重置软失效时间;
或者,
对刷新后的所述缓存数据清除所述刷新标识。
9.根据权利要求1或2或3或5或6或7所述的方法,其特征在于,
还包括:
返回刷新后的缓存数据。
10.根据权利要求1或2或3或5或6或7所述的方法,其特征在于,
还包括:
当未符合旧数据条件时,返回所述缓存数据。
11.根据权利要求4所述的方法,其特征在于,还包括:
当所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
12.一种缓存数据的刷新装置,其特征在于,...
【专利技术属性】
技术研发人员:张广铃,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。