多级缓存系统及其访问控制方法、设备和存储介质技术方案

技术编号:21735914 阅读:44 留言:0更新日期:2019-07-31 19:07
本公开涉及云存储技术领域,特别涉及一种多级缓存系统及其访问控制方法、设备和存储介质。所述方法包括:响应于接收到数据请求而访问一级缓存;在一级缓存中没有所请求的数据的情况下,访问二级缓存;在二级缓存中存在所请求的数据的情况下,将二级缓存中的所请求的数据的过期时间延长预定时间。通过本公开的各实施例,可以提供一种优化的分布存储技术,提高缓存效率,降低缓存扩容成本。

Multilevel Cache System and Its Access Control Method, Equipment and Storage Media

【技术实现步骤摘要】
多级缓存系统及其访问控制方法、设备和存储介质
本专利技术涉及云存储
,特别涉及一种多级缓存系统及其访问控制方法、装置、计算设备和计算机可读存储介质。
技术介绍
随着互联网带宽和规模的增长,越来越多的大规模数据分析、处理系统面临着数据访问性能的瓶颈。数据规模的不断膨胀和数据加速访问需求的增加,令缓存系统的扩容成本成倍地增加,导致缓存系统的经济性大幅下降。为了降低缓存的扩容成本,提高缓存的性能,需要一种效率更高的新型缓存系统。
技术实现思路
为解决以上问题中的一个或多个,本专利技术实施例提供了一种多级缓存系统及其访问控制方法、装置、计算设备和计算机可读存储介质。根据本申请的第一方面,提供一种用于多级缓存系统的访问控制方法,所述多级缓存系统包括一级缓存和二级缓存,所述访问控制方法包括:响应于接收到数据请求而访问一级缓存;在一级缓存中没有所请求的数据的情况下,访问二级缓存;在二级缓存中存在所请求的数据的情况下,将二级缓存中的所请求的数据的过期时间延长预定时间。根据一示例性实施例,所述访问控制方法还包括:在二级缓存中存在所请求的数据的情况下,从二级缓存中获取所请求的数据,并将所述数据同步到一级缓存中。根据一示例性实施例,所述一级缓存为Caffeine一级缓存,其为包括一个或多个Caffeine节点的本地缓存;所述二级缓存为Redis二级缓存,其为包括多个Redis节点的分布式缓存。根据一示例性实施例,所述访问控制方法还包括:在由于用户操作而导致数据库的相应数据发生更新的情况下,发生所述用户操作的Caffeine节点向Redis二级缓存发送缓存过期消息;收到缓存过期消息的Redis二级缓存将缓存过期消息发布到Redis消息队列;Redis节点和Caffeine节点通过订阅Redis消息队列而收到所述缓存过期消息;每个Redis节点和Caffeine节点根据所述缓存过期消息使其所缓存的所述相应数据失效。根据一示例性实施例,所述缓存过期消息中包含发生更新的所述相应数据的字段名称。根据一示例性实施例,每个Redis节点和Caffeine节点根据所述缓存过期消息使其所缓存的所述相应数据失效包括:每个Redis节点和Caffeine节点根据所述缓存过期消息中包含的所述字段名称在其缓存的数据中查找所述字段名称;每个Redis节点和Caffeine节点使查找到的所述字段名称及其对应的值失效。根据本申请的第二方面,提供一种多级缓存系统,其包括一级缓存和二级缓存,其中,所述多级缓存系统被配置为:在针对所请求的数据访问一级缓存、而一级缓存中没有所请求的数据的情况下,从二级缓存中获取所请求的数据并将所述数据同步到一级缓存中,其中,所述多级缓存系统还被配置为:在一级缓存中没有所请求的数据、而二级缓存中有所请求的数据的情况下,将二级缓存中的所请求的数据的过期时间延长预定时间。根据本申请的第三方面,提供一种用于多级缓存系统的访问控制装置,所述多级缓存系统包括一级缓存和二级缓存,所述访问控制装置包括:一级缓存访问模块,其被配置为:响应于接收到数据请求而访问一级缓存;二级缓存访问模块,其被配置为:在一级缓存中没有所请求的数据的情况下,访问二级缓存;延期模块,其被配置为:在二级缓存中存在所请求的数据的情况下,将二级缓存中的所请求的数据的过期时间延长预定时间。根据一示例性实施例,所述访问控制装置还包括:同步模块,其被配置为:在二级缓存中存在所请求的数据的情况下,从二级缓存中获取所请求的数据,并将所述数据同步到一级缓存中。根据一示例性实施例,其中:所述一级缓存为Caffeine一级缓存,其为包括一个或多个Caffeine节点的本地缓存;所述二级缓存为Redis二级缓存,其为包括多个Redis节点的分布式缓存。根据一示例性实施例,所述访问控制装置还包括:过期消息发送模块,其被配置为:在由于用户操作而导致数据库的相应数据发生更新的情况下,使发生所述用户操作的Caffeine节点向Redis二级缓存发送缓存过期消息;Redis消息队列模块,其被配置为:使收到缓存过期消息的Redis二级缓存将缓存过期消息发布到Redis消息队列;订阅模块,其被配置为:使Redis节点和Caffeine节点通过订阅Redis消息队列而收到所述缓存过期消息;失效模块,其被配置为:使每个Redis节点和Caffeine节点根据所述缓存过期消息使其所缓存的所述相应数据失效。根据一示例性实施例,所述缓存过期消息中包含发生更新的所述相应数据的字段名称。根据一示例性实施例,所述失效模块包括:查找单元,其被配置为:使每个Redis节点和Caffeine节点根据所述缓存过期消息中包含的所述字段名称在其缓存的数据中查找所述字段名称;失效单元,其被配置为:使每个Redis节点和Caffeine节点使查找到的所述字段名称及其对应的值失效。根据本申请的第四方面,提供一种计算设备,其与多级缓存系统可通信地相连接,所述多级缓存系统包括一级缓存和二级缓存,所述计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如上所述的方法实施例中的任一个。根据本申请的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如上所述的方法实施例中的任一个。本申请的实施例提供的技术方案可以包括以下有益效果:通过本申请如上所述以及如下所述的各实施例,可以提高缓存效率,降低缓存扩容成本。另外,在一些实施例中,在Caffeine一级缓存中没有所请求的数据、而Redis二级缓存中有所请求的数据的情况下,将Redis二级缓存中的所请求的数据的过期时间延长(例如延长预定时间),使得用户可能频繁需要获取的热点数据可以长时间保留在缓存中,提高了缓存性能。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明图1是根据一示例性实施例示出的本申请所涉及的实施环境的示意简图。图2是根据本申请一示例性实施例示出的访问控制方法的示意流程图。图3是根据本申请另一示例性实施例示出的包括数据更新过程的访问控制方法的示意流程图。图4是根据图3对应实施例示出的访问控制方法中步骤S340的示例具体实现方式的示意流程图。图5是根据本申请一示例性实施例示出的访问控制装置的示意组成框图。图6是根据本申请一示例性实施例示出的计算设备的示意组成框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术的示例性实施例进行进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解,此处所描述的具体实施例仅仅用于解释本专利技术,并不用于限定本专利技术。图1是根据一示例性实施例示出的本申请所涉及的实施环境的示意简图。如图1所示,本申请实施例所涉及的多级缓存系统可以包括一级缓存110和二级缓存120。其中,一级缓存110为本地缓存,其过期算法为最近访问过期算法,即数据在最后一次写入或访问后经过固定时间过期。本文档来自技高网...

【技术保护点】
1.一种用于多级缓存系统的访问控制方法,其特征在于,所述多级缓存系统包括一级缓存和二级缓存,所述访问控制方法包括:响应于接收到数据请求而访问一级缓存;在一级缓存中没有所请求的数据的情况下,访问二级缓存;在二级缓存中存在所请求的数据的情况下,将二级缓存中的所请求的数据的过期时间延长预定时间。

【技术特征摘要】
1.一种用于多级缓存系统的访问控制方法,其特征在于,所述多级缓存系统包括一级缓存和二级缓存,所述访问控制方法包括:响应于接收到数据请求而访问一级缓存;在一级缓存中没有所请求的数据的情况下,访问二级缓存;在二级缓存中存在所请求的数据的情况下,将二级缓存中的所请求的数据的过期时间延长预定时间。2.如权利要求1所述的访问控制方法,其特征在于,还包括:在二级缓存中存在所请求的数据的情况下,从二级缓存中获取所请求的数据,并将所述数据同步到一级缓存中。3.如权利要求1所述的访问控制方法,其特征在于:所述一级缓存为Caffeine一级缓存,其为包括一个或多个Caffeine节点的本地缓存;所述二级缓存为Redis二级缓存,其为包括多个Redis节点的分布式缓存。4.如权利要求3所述的访问控制方法,其特征在于,还包括:在由于用户操作而导致数据库的相应数据发生更新的情况下,发生所述用户操作的Caffeine节点向Redis二级缓存发送缓存过期消息;收到缓存过期消息的Redis二级缓存将缓存过期消息发布到Redis消息队列;Redis节点和Caffeine节点通过订阅Redis消息队列而收到所述缓存过期消息;每个Redis节点和Caffeine节点根据所述缓存过期消息使其所缓存的所述相应数据失效。5.如权利要求4所述的访问控制方法,其特征在于,所述缓存过期消息中包含发生更新的所述相应数据的字段名称。6.如权利要求5所述的访问控制方法,其特征在于,每个Redis节点和Caffeine节点根据所述缓存过期消息使其所缓存的所述相应数据失...

【专利技术属性】
技术研发人员:罗厚付
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1