一种基于redis过期键的分布式读共享缓存老化方法与流程

文档序号:11386805阅读:362来源:国知局
一种基于redis过期键的分布式读共享缓存老化方法与流程

本发明涉及分布式文件系统读共享缓存老化设计技术领域,特别涉及一种基于redis过期键的分布式读共享缓存老化方法。



背景技术:

分布式文件系统是由多个存储节点对外提供统一的文件系统,客户应用可以通过任意一个存储节点读取到文件系统中的保存的文件,为了提高文件的二次读取效率,通常会提供读缓存来缓存最近读取过的文件,由于系统的物理缓存大小是固定的,所以需要对长期不访问的缓存文件进行老化,达到缓存新的访问频繁的文件。

通常情况下系统会在一开始划分出固定的读缓存大小,在缓存未用完时,不对缓存数据进行老化,当缓存用完时,一次性根据最少访问策略老化一批缓存文件。

该老化方法无法根据系统要求动态调整缓存大小,且在读缓存满,又读未命中的情况下进行缓存释放,缓存利用效率较低。



技术实现要素:

为了解决现有技术的问题,本发明提供了一种基于redis过期键的分布式读共享缓存老化方法,其可以在大量读的情况充分利用物理缓存提高读效率。

本发明所采用的技术方案如下:

一种基于redis过期键的分布式读共享缓存老化方法,包括以下步骤:

a、当客户应用第一次读文件时,缓存无法命中,存储节点缓存文件,并以文件名为关键字把索引写入到redis数据库,并设置过期时间;

a2、当客户应用在过期时间内访问该文件,直接从缓存中获取,并重置过期时间;

a3、当客户应用在过期时间内都未访问该文件,系统删除redis数据中该关键字,并释放该文件的缓存空间。

所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,缓存共享占用空间不进行限制,根据系统随机读压力占用缓存空间自动调节。

利用redis过期键的特性为每个文件关键字设置过期时间,每次缓存命中后重置过期时间,过期时间内无访问,则对该缓存文件进行老化,释放缓存空间。

读缓存空间不限制大小,当读缓存未命中时,申请新的缓存空间,缓存占用空间大小取决于过期时间设置以及业务读压力自动调节,当读压力小、过期时间设置小时,占用缓存空间小。

本发明提供的技术方案带来的有益效果是:

本发明的一种基于redis过期键的分布式读共享缓存老化方法,其主要功能为所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,利用redis过期键特性为每个关键字设置过期时间,当有缓存命中时,重置关键字过期时间,当过期时间到后,对该关键字的文件进行老化,释放缓存空间,当缓存无法命中时,重新申请缓存空间进行文件缓存,不限制缓存大小,根据读访问压力以及过期时间决定缓存空间大小,通过该方法可以在大量读的情况充分利用物理缓存提高读效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术下的分布式读共享缓存老化方法流程图;

图2为本发明的一种基于redis过期键的分布式读共享缓存老化方法的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一

如图2所示,表示了本实施例提供的基于redis过期键的分布式读共享缓存老化方法:

客户应用读取文件,存储节点判断缓存是否命中,如果是则直接读取文件,重置redis关键字的过期时间,如果否则申请新的缓存空间缓存文件,设置redis关键字的过期时间,再返回读取到的文件,同时存储节点不断定时判断是否有关键字过期时间到,如果是则删除关键字,并进行缓存空间释放,如果否,则继续等待下一次检测判断。

所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,缓存共享占用空间不进行限制,根据系统随机读压力占用缓存空间自动调节。

利用redis过期键的特性为每个文件关键字设置过期时间,每次缓存命中后重置过期时间,过期时间内无访问,则对该缓存文件进行老化,释放缓存空间。

读缓存空间不限制大小,当读缓存未命中时,申请新的缓存空间,缓存占用空间大小取决于过期时间设置以及业务读压力自动调节,当读压力小、过期时间设置小时,占用缓存空间小。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。



技术特征:

技术总结
本发明涉及分布式文件系统读共享缓存老化设计技术领域,特别涉及一种基于REDIS过期键的分布式读共享缓存老化方法。本发明的一种基于redis过期键的分布式读共享缓存老化方法,其主要功能为所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,利用redis过期键特性为每个关键字设置过期时间,当有缓存命中时,重置关键字过期时间,当过期时间到后,对该关键字的文件进行老化,释放缓存空间,当缓存无法命中时,重新申请缓存空间进行文件缓存,不限制缓存大小,根据读访问压力以及过期时间决定缓存空间大小,通过该方法可以在大量读的情况充分利用物理缓存提高读效率。

技术研发人员:王志华;吴丙涛;徐艳秋
受保护的技术使用者:郑州云海信息技术有限公司
技术研发日:2017.06.16
技术公布日:2017.09.05
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1