CN107133369A - 一种基于redis过期键的分布式读共享缓存老化方法 - Google Patents
一种基于redis过期键的分布式读共享缓存老化方法 Download PDFInfo
- Publication number
- CN107133369A CN107133369A CN201710455738.0A CN201710455738A CN107133369A CN 107133369 A CN107133369 A CN 107133369A CN 201710455738 A CN201710455738 A CN 201710455738A CN 107133369 A CN107133369 A CN 107133369A
- Authority
- CN
- China
- Prior art keywords
- expired
- redis
- cache
- buffer memory
- shared buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分布式文件***读共享缓存老化设计技术领域,特别涉及一种基于REDIS过期键的分布式读共享缓存老化方法。本发明的一种基于redis过期键的分布式读共享缓存老化方法,其主要功能为所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,利用redis过期键特性为每个关键字设置过期时间,当有缓存命中时,重置关键字过期时间,当过期时间到后,对该关键字的文件进行老化,释放缓存空间,当缓存无法命中时,重新申请缓存空间进行文件缓存,不限制缓存大小,根据读访问压力以及过期时间决定缓存空间大小,通过该方法可以在大量读的情况充分利用物理缓存提高读效率。
Description
技术领域
本发明涉及分布式文件***读共享缓存老化设计技术领域,特别涉及一种基于REDIS过期键的分布式读共享缓存老化方法。
背景技术
分布式文件***是由多个存储节点对外提供统一的文件***,客户应用可以通过任意一个存储节点读取到文件***中的保存的文件,为了提高文件的二次读取效率,通常会提供读缓存来缓存最近读取过的文件,由于***的物理缓存大小是固定的,所以需要对长期不访问的缓存文件进行老化,达到缓存新的访问频繁的文件。
通常情况下***会在一开始划分出固定的读缓存大小,在缓存未用完时,不对缓存数据进行老化,当缓存用完时,一次性根据最少访问策略老化一批缓存文件。
该老化方法无法根据***要求动态调整缓存大小,且在读缓存满,又读未命中的情况下进行缓存释放,缓存利用效率较低。
发明内容
为了解决现有技术的问题,本发明提供了一种基于REDIS过期键的分布式读共享缓存老化方法,其可以在大量读的情况充分利用物理缓存提高读效率。
本发明所采用的技术方案如下:
一种基于REDIS过期键的分布式读共享缓存老化方法 ,包括以下步骤:
A、当客户应用第一次读文件时,缓存无法命中,存储节点缓存文件,并以文件名为关键字把索引写入到redis数据库,并设置过期时间;
A2、当客户应用在过期时间内访问该文件,直接从缓存中获取,并重置过期时间;
A3、当客户应用在过期时间内都未访问该文件,***删除redis数据中该关键字,并释放该文件的缓存空间。
所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,缓存共享占用空间不进行限制,根据***随机读压力占用缓存空间自动调节。
利用redis过期键的特性为每个文件关键字设置过期时间,每次缓存命中后重置过期时间,过期时间内无访问,则对该缓存文件进行老化,释放缓存空间。
读缓存空间不限制大小,当读缓存未命中时,申请新的缓存空间,缓存占用空间大小取决于过期时间设置以及业务读压力自动调节,当读压力小、过期时间设置小时,占用缓存空间小。
本发明提供的技术方案带来的有益效果是:
本发明的一种基于redis过期键的分布式读共享缓存老化方法,其主要功能为所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,利用redis过期键特性为每个关键字设置过期时间,当有缓存命中时,重置关键字过期时间,当过期时间到后,对该关键字的文件进行老化,释放缓存空间,当缓存无法命中时,重新申请缓存空间进行文件缓存,不限制缓存大小,根据读访问压力以及过期时间决定缓存空间大小,通过该方法可以在大量读的情况充分利用物理缓存提高读效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术下的分布式读共享缓存老化方法流程图;
图2为本发明的一种基于redis过期键的分布式读共享缓存老化方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
如图2所示,表示了本实施例提供的基于redis过期键的分布式读共享缓存老化方法:
客户应用读取文件,存储节点判断缓存是否命中,如果是则直接读取文件,重置redis关键字的过期时间,如果否则申请新的缓存空间缓存文件,设置redis关键字的过期时间,再返回读取到的文件,同时存储节点不断定时判断是否有关键字过期时间到,如果是则删除关键字,并进行缓存空间释放,如果否,则继续等待下一次检测判断。
所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,缓存共享占用空间不进行限制,根据***随机读压力占用缓存空间自动调节。
利用redis过期键的特性为每个文件关键字设置过期时间,每次缓存命中后重置过期时间,过期时间内无访问,则对该缓存文件进行老化,释放缓存空间。
读缓存空间不限制大小,当读缓存未命中时,申请新的缓存空间,缓存占用空间大小取决于过期时间设置以及业务读压力自动调节,当读压力小、过期时间设置小时,占用缓存空间小。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于REDIS过期键的分布式读共享缓存老化方法 ,包括以下步骤:
A、当客户应用第一次读文件时,缓存无法命中,存储节点缓存文件,并以文件名为关键字把索引写入到redis数据库,并设置过期时间;
A2、当客户应用在过期时间内访问该文件,直接从缓存中获取,并重置过期时间;
A3、当客户应用在过期时间内都未访问该文件,***删除redis数据中该关键字,并释放该文件的缓存空间。
2.根据权利要求1所述的一种基于REDIS过期键的分布式读共享缓存老化方法,其特征在于,所有存储节点通过redis数据库保存读共享缓存索引,以文件名字为关键字,缓存共享占用空间不进行限制,根据***随机读压力占用缓存空间自动调节。
3.根据权利要求1所述的一种基于REDIS过期键的分布式读共享缓存老化方法,其特征在于,利用redis过期键的特性为每个文件关键字设置过期时间,每次缓存命中后重置过期时间,过期时间内无访问,则对该缓存文件进行老化,释放缓存空间。
4.根据权利要求1所述的一种基于REDIS过期键的分布式读共享缓存老化方法,其特征在于,读缓存空间不限制大小,当读缓存未命中时,申请新的缓存空间,缓存占用空间大小取决于过期时间设置以及业务读压力自动调节,当读压力小、过期时间设置小时,占用缓存空间小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710455738.0A CN107133369A (zh) | 2017-06-16 | 2017-06-16 | 一种基于redis过期键的分布式读共享缓存老化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710455738.0A CN107133369A (zh) | 2017-06-16 | 2017-06-16 | 一种基于redis过期键的分布式读共享缓存老化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107133369A true CN107133369A (zh) | 2017-09-05 |
Family
ID=59734709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710455738.0A Pending CN107133369A (zh) | 2017-06-16 | 2017-06-16 | 一种基于redis过期键的分布式读共享缓存老化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133369A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280031A (zh) * | 2017-12-22 | 2018-07-13 | 努比亚技术有限公司 | redis缓存清理方法、服务器及计算机可读存储介质 |
WO2019148727A1 (zh) * | 2018-02-01 | 2019-08-08 | 平安科技(深圳)有限公司 | 电子装置、基于redis的异常预警方法及存储介质 |
CN110162384A (zh) * | 2019-04-19 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 基于Redis分布式锁的超时时间动态调整方法及*** |
CN111026807A (zh) * | 2019-11-25 | 2020-04-17 | 深圳壹账通智能科技有限公司 | 分布式锁的同步方法、装置、计算机设备及可读存储介质 |
US10635597B2 (en) | 2018-02-28 | 2020-04-28 | Citrix Systems, Inc. | Read caching with early refresh for eventually-consistent data store |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8854385B1 (en) * | 2013-10-03 | 2014-10-07 | Google Inc. | Merging rendering operations for graphics processing unit (GPU) performance |
CN105335102A (zh) * | 2015-10-10 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | 一种缓存数据处理方法及装置 |
CN105760467A (zh) * | 2016-02-05 | 2016-07-13 | 浪潮(北京)电子信息产业有限公司 | 一种数据实时读写方法、装置、***及nfs服务器 |
CN106547751A (zh) * | 2015-09-16 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 缓存数据的更新方法及装置 |
CN106708993A (zh) * | 2016-12-16 | 2017-05-24 | 武汉中地数码科技有限公司 | 基于大数据技术的空间数据存储处理中间件框架实现方法 |
-
2017
- 2017-06-16 CN CN201710455738.0A patent/CN107133369A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8854385B1 (en) * | 2013-10-03 | 2014-10-07 | Google Inc. | Merging rendering operations for graphics processing unit (GPU) performance |
CN106547751A (zh) * | 2015-09-16 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 缓存数据的更新方法及装置 |
CN105335102A (zh) * | 2015-10-10 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | 一种缓存数据处理方法及装置 |
CN105760467A (zh) * | 2016-02-05 | 2016-07-13 | 浪潮(北京)电子信息产业有限公司 | 一种数据实时读写方法、装置、***及nfs服务器 |
CN106708993A (zh) * | 2016-12-16 | 2017-05-24 | 武汉中地数码科技有限公司 | 基于大数据技术的空间数据存储处理中间件框架实现方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280031A (zh) * | 2017-12-22 | 2018-07-13 | 努比亚技术有限公司 | redis缓存清理方法、服务器及计算机可读存储介质 |
WO2019148727A1 (zh) * | 2018-02-01 | 2019-08-08 | 平安科技(深圳)有限公司 | 电子装置、基于redis的异常预警方法及存储介质 |
US10635597B2 (en) | 2018-02-28 | 2020-04-28 | Citrix Systems, Inc. | Read caching with early refresh for eventually-consistent data store |
CN110162384A (zh) * | 2019-04-19 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 基于Redis分布式锁的超时时间动态调整方法及*** |
CN110162384B (zh) * | 2019-04-19 | 2023-04-28 | 深圳壹账通智能科技有限公司 | 基于Redis分布式锁的超时时间动态调整方法及*** |
CN111026807A (zh) * | 2019-11-25 | 2020-04-17 | 深圳壹账通智能科技有限公司 | 分布式锁的同步方法、装置、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133369A (zh) | 一种基于redis过期键的分布式读共享缓存老化方法 | |
US8949544B2 (en) | Bypassing a cache when handling memory requests | |
US10241919B2 (en) | Data caching method and computer system | |
CN106909515B (zh) | 面向混合主存的多核共享末级缓存管理方法及装置 | |
US6754783B2 (en) | Memory controller with power management logic | |
CN105872040B (zh) | 一种利用网关节点缓存优化分布式块存储写性能的方法 | |
TWI234709B (en) | Weighted cache line replacement | |
CN103246616B (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
CN105426321B (zh) | 采用远程位置信息的rdma友好缓存方法 | |
US6457105B1 (en) | System and method for managing data in an asynchronous I/O cache memory | |
CN105938458B (zh) | 软件定义的异构混合内存管理方法 | |
CN106844740A (zh) | 基于内存对象缓存***的数据预读方法 | |
CN108427537A (zh) | 分布式存储***及其文件写入优化方法、客户端处理方法 | |
CN105653720B (zh) | 一种可灵活配置的数据库分层存储优化方法 | |
CN107888687B (zh) | 一种基于分布式存储***的代理客户端存储加速方法及*** | |
CN110262982A (zh) | 一种固态硬盘地址映射的方法 | |
CN106557431B (zh) | 一种用于多路顺序流的预读方法及装置 | |
CN110147345A (zh) | 一种基于rdma的键值存储***及其工作方法 | |
CN108089825A (zh) | 一种基于分布式集群的存储*** | |
CN114817195A (zh) | 一种分布式存储缓存管理的方法、***、存储介质及设备 | |
CN111752905A (zh) | 一种基于对象存储的大文件分布式缓存*** | |
CN112051968A (zh) | 基于Kafka的分布式数据流分级缓存自动迁移算法 | |
CN108459972B (zh) | 一种多通道固态硬盘的高效缓存管理设计方法 | |
US20130086325A1 (en) | Dynamic cache system and method of formation | |
CN111506517B (zh) | 一种基于访问局部性的闪存页级地址映射方法及其*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170905 |