CN117270794B - 一种基于Redis的数据存储方法、介质及设备 - Google Patents
一种基于Redis的数据存储方法、介质及设备 Download PDFInfo
- Publication number
- CN117270794B CN117270794B CN202311560988.2A CN202311560988A CN117270794B CN 117270794 B CN117270794 B CN 117270794B CN 202311560988 A CN202311560988 A CN 202311560988A CN 117270794 B CN117270794 B CN 117270794B
- Authority
- CN
- China
- Prior art keywords
- data
- hot spot
- memory
- spot data
- hard disk
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013500 data storage Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims abstract description 116
- 230000004913 activation Effects 0.000 claims abstract description 19
- 230000008859 change Effects 0.000 claims description 18
- 230000008030 elimination Effects 0.000 claims description 17
- 238000003379 elimination reaction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 abstract description 6
- 238000009825 accumulation Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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的内存溢出的概率,进一步降低程序崩溃的概率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于Redis的数据存储方法、介质及设备。
背景技术
随着信息时代的快速发展,近年来移动互联网、物联网、云计算和人工智能得到了飞速的发展,随之而来也产生了大量的数据。这些数据一方面为各行各业提供了许多有价值的信息,另一方面,大量的数据也带来了数据存储和数据分析方面巨大的技术挑战。
目前,在Redis中,大量缓存数据堆积和内存中热点数据冗余,容易造成Redis的内存溢出,进一步导致程序崩溃的问题。
发明内容
本申请的目的在于提供一种基于Redis的数据存储方法、设备及介质,能够减少缓存数据堆积和热点数据冗余,并且降低Redis的内存溢出的概率,进一步降低程序崩溃的概率。
本申请提供一种基于Redis的数据存储方法,包括以下步骤:根据第一热点数据和热点预测模型,获得所述第一热点数据的第一激活时间和/或第一失效时间;根据所述第一激活时间,将硬盘中的所述第一热点数据缓存到内存中;根据所述第一失效时间,获得第一热点数据的热度值下降数据,所述热度值下降数据是所述第一热点数据在所述第一失效时间前的第一预设时间内采集到的所述第一热点数据的热度值变化数据;根据所述热度值下降数据,判断是否对第一热点数据的第一失效时间进行修正;当所述热度值下降数据与预期的热度值下降数据不符合时,对第一热点数据的所述第一失效时间进行修正;当所述热度值下降数据与预期的热度值下降数据符合时,根据所述第一失效时间,将所述第一热点数据从内存中删除。
可选地,所述第一激活时间是所述热点预测模型根据时间序列模型对第一热点数据预测的热点时间,所述第一失效时间是所述热点预测模型根据时间序列模型对第一热点数据预测的过期时间。
可选地,在所述将硬盘中的所述第一热点数据缓存到内存中时,当所述内存中存储的数据超过第一阈值时,根据第一预设条件,删除所述内存中的缓存数据。
可选地,所述删除所述内存中过期的缓存数据,包括以下方法:采用LRU淘汰策略和/或LFU淘汰策略,删除所述过期的缓存数据。
可选地,根据所述第一热点数据,通过布隆过滤器判断硬盘中是否存储有第一热点数据;当硬盘中存储有第一热点数据时,将所述第一热点数据缓存在内存中;当硬盘中没有存储第一热点数据时,拦截所述第一热点数据,并生成无数据信息,将所述无数据信息发送到用户。
可选地,当所述第一热点数据更新为第二热点数据后,根据所述第二热点数据,将硬盘中存储的所述第一热点数据更新为第二热点数据;基于所述将硬盘中存储的所述第一热点数据更新为第二热点数据,生成第一操作指令并发送到所述内存,所述第一操作指令用于指示所述内存根据所述第一操作指令,删除所述内存中与所述第一热点数据对应的缓存数据;接收所述内存完成所述第一操作指令的第一反馈,基于所述第一反馈,生成第二操作指令并发送到所述内存,所述第二操作指令用于指示所述内存缓存所述硬盘中存储的第二热点数据,以得到更新的缓存数据,并对所述更新的缓存数据设置所述第一失效时间。
可选地,当所述删除所述内存中与所述第一热点数据对应的缓存数据后,将所述第一操作指令要操作的数据加入到消息列队中;当删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据的操作失败时,从消息列队中读取所述第一操作指令要操作的数据,并再次删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据;当删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据的操作成功时,所述消息列队移除所述第一操作指令要操作的数据。
可选地,所述第一操作指令用于指示所述内存根据所述第一操作指令,删除所述内存中与所述第一热点数据对应的缓存数据的方法,包括以下步骤:基于更新所述硬盘中存储的所述第一热点数据,产生变更日志数据,并将所述变更日志数据记录在binlog日志里;订阅所述binlog日志,并根据所述变更日志数据,执行删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现上述方法。
本申请另一方面提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现上述方法。
本申请的有益效果包括:
本申请提供一种基于Redis的数据存储方法、设备及介质,通过第一热点数据和热点预测模型,获得第一热点数据的第一激活时间和/或第一失效时间,再根据第一激活时间,将硬盘中的第一热点数据缓存到内存中,并且在第一失效时间前的第一预设时间内,采集第一热点数据的热度值变化数据,生成第一热点数据的热度值下降数据,当第一热度值下降数据,与预期的热度值下降数据不符合时,对第一预设时间进行修正,当第一热度值下降数据与预期的热度下降值符合时,根据第一失效时间,将第一热点数据从内存中删除,能够减少缓存数据堆积和热点数据冗余,并且降低Redis的内存溢出的概率,进一步降低程序崩溃的概率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请基于Redis的数据存储方法的流程示意图一;
图2为本申请基于Redis的数据存储方法的流程示意图二;
图3为本申请基于Redis的数据存储方法的流程示意图三;
图4为本申请基于Redis的数据存储方法的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,本发申请施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
在本申请中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,全文中出现的“和/或”的含义,包括三个并列的方案,以“A和/或B”为例,包括A方案、或B方案、或A和B同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
目前,在Redis中,大量缓存数据堆积和内存中热点数据冗余,容易造成Redis的内存溢出,进一步导致程序崩溃的问题。
实施例1
请参照图1和图4,本申请提供一种基于Redis的数据存储方法,包括以下步骤:
S110、根据第一热点数据和热点预测模型,获得第一热点数据的第一激活时间和/或第一失效时间。
在具体实施中,用户向客户端发出查询请求,此时,客户端根据根据第一热点数据和热点预测模型,计算出第一热点数据的第一激活时间和/或第一失效时间。需要说明的是,第一激活时间为第一热点数据被用户高频访问的时间节点,第一失效时间为第一热点数据的过期时间。
S120、根据第一激活时间,将硬盘中的第一热点数据缓存到内存中。
在具体实施中,客户端根据第一激活时间,在第一激活时间前,将存储在硬盘中的第一热点数据缓存到内存中,以防止,大量用户向客户端发出查询上述的第一热点数据的请求时,内存中没有第一热点数据,客户端进一步向硬盘中查询,由于查询量巨大,造成的缓存雪崩和缓存击穿的问题。
S130、根据第一失效时间,获得第一热点数据的热度值下降数据,热度值下降数据是第一热点数据在第一失效时间前的第一预设时间内采集到的第一热点数据的热度值变化数据。
在具体实施中,客户端根据在第一热点数据到达第一时效时间前会给第一热点数据设置一个第一预设时间,当第一热点数据到达第一预设时间时,客户端会采集第一热点数据的热度值变化数据以得到热度值下降数据。
需要说明的是,第一预设时间可以设置为,一个月、一周、一天等,在申请中不做具体地限制,可根据实际情况和实际需求灵活设置。
S140、根据热度值下降数据,判断是否对第一热点数据的第一失效时间进行修正。
具体地,客户端得到第一热点数据的热度值下降数据,同时客户端使用热点预测模型预测第一热点数据的热度值,以得到预期的热度值下降数据,将热度值下降数据与预测的热度值下降数据对比,来判断是否对第一热点数据的第一失效时间进行修正。具体的判断步骤如下。
S141、当热度值下降数据与预期的热度值下降数据不符合时,对第一热点数据的第一失效时间进行修正。
当热度值下降数据与预期的热度值下降数据符合时,对第一热点数据的第一失效时间进行修正。具体的,度值下降数据与预期的热度值下降数据不符合,表明用户对第一热点数据的查询请求频率不在正常的频率下降范围,因此,客户端修正第一热点数据的失效时间,以延长第一热点数据的过期时间,防止第一热点数据查询量较高时,被客户端从内存清除而造成的缓存雪崩和缓存击穿的问题。
S142、当热度值下降数据与预期的热度值下降数据符合时,根据第一失效时间,将第一热点数据从内存中删除。
当热度值下降数据与预期的热度值下降数据符合时,根据第一失效时间,将第一热点数据从内存中删除。具体地,度值下降数据与预期的热度值下降数据符合,表明用户对第一热点数据的查询请求频率较在正常的频率下降范围内,此时第一热点数据的使用频率较低,甚至,该第一热点数据不会被使用,此时对第一热点数据的第一失效时间不进行修正,第一热点数据的过期时间不会被延长,当第一热点数据达到第一失效时间时,客户端会将第一热点数据从内从删除,以减少缓存数据堆积和热点数据冗余,并且降低Redis的内存溢出的概率,进一步降低程序崩溃的概率。
一种可选的实施方式,第一激活时间是热点预测模型根据时间序列模型对第一热点数据预测的热点时间,第一失效时间是热点预测模型根据时间序列模型对第一热点数据预测的过期时间。
需要说明的是,数据预测模型有许多种,例如,线性回归模型、时间序列模型、决策树模型、集成学习模型和深度学习模型等,在本实施例中热点预测模型采用时间序列模型。时间序列模型适用于需要分析、预测随时间变化的现象或过程的情况。这种模型通常会考虑历史数据中的季节性、趋势性、周期性等因素,以预测未来的趋势。
实施例2
例如,将基于Redis的数据存储方法应用在一个购物平台上,当第一热点数据,因数据过期被删除时,热点预测模型预测第一热点数据的第一激活时间为,六一八活动前,或者双十一活动前,当到达六一八活动前,或者双十一活动前,购物平台会将第一热点数据,从硬盘缓存到内存中,以防止在六一八活动期间,或者双十一活动期间,顾客查询量过大,造成购物平台瘫痪。
如图1和图2所示,一种可选的实施方式,在将硬盘中的第一热点数据缓存到内存中时,还包括以下步骤:
S121、当内存中存储的数据超过第一阈值时,根据第一预设条件,删除内存中的缓存数据。
具体地,当内存内存中存储的数据超过第一阈值时,客户端查询内存中缓存的数据,并根据第一预设条件,将缓存数据从内存中删除。
需要说明的是,第一阈值的大小与内存的大小成正比,当内存大时,第一阈值也大,第一阈值可根据实际情况灵活设置。
进一步地,删除内存中的缓存数据,包括以下步骤:
S1211、LRU淘汰策略。
具体地,当内存溢出时,客户端采用LRU淘汰策略,将过期的缓存数据中,最近一段时间内最少用到的缓存数据从内存中删除,以缓解内存空间,减小因内存溢出导致不能将热点数据缓存在内存中的概率,同时也减小缓存击穿和缓存雪崩的概率。
需要说明的是,LRU(Least Recently Used)淘汰策略,是一种常用的缓存淘汰策略,它根据数据项最近被使用的时间来进行淘汰。当缓存空间已满,需要替换一个数据项时,LRU算法会选择最近最少使用的数据项进行淘汰。具体来说,LRU淘汰策略维护一个访问顺序的链表或者队列,每当一个数据项被访问时,该数据项就会被移到链表的末尾或者队列的尾部。当需要淘汰一个数据项时,LRU算法会选择链表或队列的头部的那个数据项进行淘汰,因为它是最近最少被使用的。
S1212、LFU淘汰策略。
具体地,当内存溢出时,客户端采用LFU淘汰策略,将过期的缓存数据中,最不常用到的缓存数据从内存中删除,以缓解内存空间,减小因内存溢出导致不能将热点数据缓存在内存中的概率,同时也减小缓存击穿和缓存雪崩的概率。
需要说明的是,LFU(Least Frequently Used)淘汰策略,是一种常用的缓存淘汰策略,它根据数据项被访问的频率来进行淘汰。当缓存空间已满,需要替换一个数据项时,LFU算法会选择被访问次数最少的数据项进行淘汰。具体来说,LFU淘汰策略维护一个访问计数器,每当一个数据项被访问时,对应的计数器会增加。当需要淘汰一个数据项时,LFU算法会选择计数器值最小的数据项进行淘汰,因为它是被访问次数最少的。
实施例3
如图1、图3和图4所示,一种可选的实施方式,根据第一热点数据和热点预测模型,获得第一热点数据的第一激活时间和/或第一失效时间后,还包括以下步骤:
S111、通过布隆过滤器判断硬盘中是否存储有第一热点数据。
具体地,当用户查询第一热点数据时,客户端通过布隆过滤器来判断硬盘中是否存储有该第一热点数据。
需要说明的是,布隆过滤器是一种快速而高效的数据结构,用于判断一个元素是否存在于集合中。它可以用来检索大规模数据中的元素,具有快速查询和低内存占用的特点。
布隆过滤器由一个位数组和多个哈希函数组成。位数组通常初始化为全部置为0。当要插入一个元素时,通过多个哈希函数将该元素映射到位数组的不同位置,并将这些位置的位值设置为1。当需要查询一个元素时,同样通过哈希函数将该元素映射到位数组的位置,并检查这些位置的位值是否全为1。如果有任何一位为0,则可以确定该元素不存在于集合中;如果所有位都为1,则该元素可能存在于集合中。
S112、当硬盘中存储有第一热点数据,将第一热点数据缓存在内存中。
具体地,当硬盘中存储有用户查询的第一热点数据,客户端将该第一热点缓存到内存中,以使其他用户或者之后用户查询该第一热点数据,客户端仅需使用内存中缓存的第一热点数据即可,减小客户端对硬盘的读取频次。
S113、当硬盘中没有存储第一热点数据,拦截第一热点数据,并生成无数据信息,将无数据信息发送到用户。
具体地,当硬盘中没有存储用户查询的第一热点数据,客户端拦截用户对第一热点数据的查询,并且生成无数据信息,将无数据信息发送给用户,提醒用户第一热点数据不存在。
采用上述的设置形式,能够减少缓存击穿和缓存雪崩的概率。
实施例4
一种可选的实施方式,当第一热点数据更新为第二热点数据后,根据第二热点数据,将硬盘中存储的第一热点数据更新为第二热点数据,基于将硬盘中存储的第一热点数据更新为第二热点数据,生成第一操作指令并发送到内存,第一操作指令用于指示内存根据第一操作指令,删除内存中与第一热点数据对应的缓存数据;接收内存完成第一操作指令的第一反馈,基于第一反馈,生成第二操作指令并发送到内存,第二操作指令用于指示内存缓存更新后的硬盘中存储的第二热点数据,以得到更新的缓存数据,并对更新的缓存数据设置第一失效时间。
具体地,当用户查询第二热点数据时,第一热点数据会更新为第二热点数据,第一热点数据的更新步骤是,客户端根据第二热点数据,将存储在硬盘中的第一热点数据更新为第二热点数据,并生成第一操作指令发送到内存,内存根据第一操作指令,删除内存中与第一热点数据对应的缓存数据(需要说明的是,该缓存数据为第一热点数据的键值),此时客户端接收内存完成第一操作指令的第一反馈,并基于第一反馈生成第二操作指令发送到内存,内存根据第二操作指令,将硬盘中存储的第二热点数据缓存到内存中,以得到更新的缓存数据(需要说明的是,该更新的缓存数据为第二热点数据的键值),之后,客户端对更新的缓存数据设置第一失效时间。
一种可选的实施方式,当删除内存中与第一热点数据对应的缓存数据后,将第一操作指令要操作的数据加入到消息列队中;当删除内存中与硬盘中存储的第一热点数据对应的缓存数据的操作失败时,从消息列队中读取第一操作指令要操作的数据,并再次删除内存中与硬盘中存储的第一热点数据对应的缓存数据;当删除内存中与硬盘中存储的第一热点数据对应的缓存数据的操作成功时,消息列队移除第一操作指令要操作的数据。
具体地,客户端生成第一操作指令,并将第一操作指令要操作的数据(第二热点数据的键值)加入到消息列队中,当第一操作指令失效,或者删除内存第一热点数据对应的缓存数据的操作失败时,客户端从从消息列队中读取第一操作指令要操作的数据,并再次删除内存中与第一热点数据对应的缓存数据。当删除内存中与第一热点数据对应的缓存数据的操作成功时,客户端删除消息队列中第一操作指令要操作的数据。
需要说明的是,消息队列是一种应用程序之间传递消息的方法。它是一种异步通信方式,允许生产者向中间件发送消息,消费者从中间件接收消息。消息队列能够解耦生产者和消费者之间的关系,提高了系统的可靠性和可扩展性。
一种可选的实施方式第一操作指令用于指示内存根据第一操作指令,删除内存中与第一热点数据对应的缓存数据的方法,包括以下步骤:基于更新硬盘中存储的第一热点数据,产生变更日志数据,并将变更日志数据记录在binlog日志里;订阅binlog日志,并根据变更日志,执行删除内存中与硬盘中存储的第一热点数据对应的缓存数据。
进一步地,客户端删除内存中与硬盘中存储的第一热点数据对应的缓存数据的操作,具体地,基于更新硬盘中存储的第一热点数据,产生变更日志数据,客户端将变更日志数据记录在binlog日志里,客户端订阅binlog日志,并且根据变更日志数据,将硬盘中存储的第一热点数据对应的缓存数据删除。
需要说明的是,Binlog(Binary Log)日志是MySQL数据库中的一种日志文件,用于记录数据库的改变操作。它以二进制格式保存,记录了数据库中的增、删、改等操作,包括对表结构和数据的修改。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,处理器执行计算机程序,实现上述任一的方法。
实施例5
本实施例还提供一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序,实现上述任一方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (9)
1.一种基于Redis的数据存储方法,其特征在于,包括以下步骤:
根据第一热点数据和热点预测模型,获得所述第一热点数据的第一激活时间和/或第一失效时间;
根据所述第一激活时间,将硬盘中的所述第一热点数据缓存到内存中;
根据所述第一失效时间,获得所述第一热点数据的热度值下降数据,所述热度值下降数据是所述第一热点数据在所述第一失效时间前的第一预设时间内采集到的所述第一热点数据的热度值变化数据;
根据所述热度值下降数据,判断是否对所述第一热点数据的所述第一失效时间进行修正;
当所述热度值下降数据与预期的热度值下降数据不符合时,对所述第一热点数据的所述第一失效时间进行修正;
当所述热度值下降数据与预期的热度值下降数据符合时,根据所述第一失效时间,将所述第一热点数据从内存中删除;
还包括当所述第一热点数据更新为第二热点数据后,根据所述第二热点数据,将硬盘中存储的所述第一热点数据更新为第二热点数据,基于所述将硬盘中存储的所述第一热点数据更新为第二热点数据,生成第一操作指令并发送到所述内存,所述第一操作指令用于指示所述内存,根据所述第一操作指令,删除所述内存中与所述第一热点数据对应的缓存数据;
接收所述内存完成所述第一操作指令的第一反馈指令,基于所述第一反馈指令生成第二操作指令并发送到所述内存,所述第二操作指令用于指示所述内存缓存所述硬盘中存储的第二热点数据,以得到更新的缓存数据,并对所述更新的缓存数据设置所述第一失效时间。
2.根据权利要求1所述的基于Redis的数据存储方法,其特征在于,所述第一激活时间是所述热点预测模型根据时间序列模型对第一热点数据预测的热点时间,所述第一失效时间是所述热点预测模型根据时间序列模型对第一热点数据预测的过期时间。
3.根据权利要求1所述的基于Redis的数据存储方法,其特征在于,在所述将硬盘中的所述第一热点数据缓存到内存中时,当所述内存中存储的数据超过第一阈值时,根据第一预设条件,删除所述内存中的缓存数据。
4.根据权利要求3所述的基于Redis的数据存储方法,其特征在于,所述删除所述内存中的缓存数据,包括以下方法:
采用LRU淘汰策略和/或LFU淘汰策略,删除所述内存中的缓存数据。
5.根据权利要求1-4任意一项所述的基于Redis的数据存储方法,其特征在于,根据所述第一热点数据,通过布隆过滤器判断硬盘中是否存储有第一热点数据;
当硬盘中存储有第一热点数据时,将所述第一热点数据缓存在内存中;
当硬盘中没有存储第一热点数据时,拦截所述第一热点数据,并生成无数据信息,将所述无数据信息发送到用户。
6.根据权利要求1所述的基于Redis的数据存储方法,其特征在于,还包括:
当所述删除所述内存中与所述第一热点数据对应的缓存数据后,将所述第一操作指令要操作的数据加入到消息列队中;
当删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据的操作失败时,从消息列队中读取所述第一操作指令要操作的数据,并再次删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据;
当删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据的操作成功时,所述消息列队移除所述第一操作指令要操作的数据。
7.根据权利要求1所述的基于Redis的数据存储方法,其特征在于,所述第一操作指令用于指示所述内存根据所述第一操作指令,删除所述内存中与所述第一热点数据对应的缓存数据的方法,包括以下步骤:
基于更新所述硬盘中存储的所述第一热点数据,产生变更日志数据,并将所述变更日志数据记录在binlog日志里;
订阅所述binlog日志,并根据所述变更日志数据,执行删除所述内存中与所述硬盘中存储的第一热点数据对应的缓存数据。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现根据权利要求1-7中任一项所述的方法。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560988.2A CN117270794B (zh) | 2023-11-22 | 2023-11-22 | 一种基于Redis的数据存储方法、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560988.2A CN117270794B (zh) | 2023-11-22 | 2023-11-22 | 一种基于Redis的数据存储方法、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117270794A CN117270794A (zh) | 2023-12-22 |
CN117270794B true CN117270794B (zh) | 2024-02-23 |
Family
ID=89208462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311560988.2A Active CN117270794B (zh) | 2023-11-22 | 2023-11-22 | 一种基于Redis的数据存储方法、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270794B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555874B (zh) * | 2024-01-11 | 2024-03-29 | 成都大成均图科技有限公司 | 一种分布式数据库的日志存储方法、装置、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292388A (zh) * | 2017-06-27 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于神经网络的热点数据的预测方法及系统 |
CN107315540A (zh) * | 2017-06-13 | 2017-11-03 | 深圳神州数码云科数据技术有限公司 | 一种自动分层存储方法及系统 |
CN107491272A (zh) * | 2017-09-29 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种数据迁移的方法、装置、设备及存储介质 |
CN107728952A (zh) * | 2017-10-31 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种预测式数据迁移方法及系统 |
CN111275514A (zh) * | 2020-01-07 | 2020-06-12 | 载信软件(上海)有限公司 | 一种智能采购方法及系统、存储介质和电子装置 |
CN113705981A (zh) * | 2021-08-03 | 2021-11-26 | 彭亮 | 一种基于大数据的异常监测的方法及装置 |
CN113867645A (zh) * | 2021-09-30 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 数据迁移和数据读写方法、装置、计算机设备及存储介质 |
CN115455058A (zh) * | 2022-09-21 | 2022-12-09 | 平安科技(深圳)有限公司 | 缓存数据的处理方法、装置、计算机设备及存储介质 |
WO2023046059A1 (zh) * | 2021-09-24 | 2023-03-30 | 中国第一汽车股份有限公司 | 缓存预热方法、装置、计算机设备和存储介质 |
CN116112563A (zh) * | 2023-02-09 | 2023-05-12 | 南京邮电大学 | 一种基于流行度预测的双策略自适应缓存替换方法 |
CN117056033A (zh) * | 2022-05-07 | 2023-11-14 | 中移(成都)信息通信科技有限公司 | 数据处理方法、装置、mec服务器及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10877683B2 (en) * | 2019-04-09 | 2020-12-29 | International Business Machines Corporation | Tiered storage optimization and migration |
US11829627B2 (en) * | 2021-08-16 | 2023-11-28 | Micron Technology, Inc. | Data migration schedule prediction using machine learning |
-
2023
- 2023-11-22 CN CN202311560988.2A patent/CN117270794B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315540A (zh) * | 2017-06-13 | 2017-11-03 | 深圳神州数码云科数据技术有限公司 | 一种自动分层存储方法及系统 |
CN107292388A (zh) * | 2017-06-27 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于神经网络的热点数据的预测方法及系统 |
CN107491272A (zh) * | 2017-09-29 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种数据迁移的方法、装置、设备及存储介质 |
CN107728952A (zh) * | 2017-10-31 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种预测式数据迁移方法及系统 |
CN111275514A (zh) * | 2020-01-07 | 2020-06-12 | 载信软件(上海)有限公司 | 一种智能采购方法及系统、存储介质和电子装置 |
CN113705981A (zh) * | 2021-08-03 | 2021-11-26 | 彭亮 | 一种基于大数据的异常监测的方法及装置 |
WO2023046059A1 (zh) * | 2021-09-24 | 2023-03-30 | 中国第一汽车股份有限公司 | 缓存预热方法、装置、计算机设备和存储介质 |
CN113867645A (zh) * | 2021-09-30 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 数据迁移和数据读写方法、装置、计算机设备及存储介质 |
CN117056033A (zh) * | 2022-05-07 | 2023-11-14 | 中移(成都)信息通信科技有限公司 | 数据处理方法、装置、mec服务器及存储介质 |
CN115455058A (zh) * | 2022-09-21 | 2022-12-09 | 平安科技(深圳)有限公司 | 缓存数据的处理方法、装置、计算机设备及存储介质 |
CN116112563A (zh) * | 2023-02-09 | 2023-05-12 | 南京邮电大学 | 一种基于流行度预测的双策略自适应缓存替换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117270794A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117270794B (zh) | 一种基于Redis的数据存储方法、介质及设备 | |
JP4263672B2 (ja) | キャッシュに格納されたオブジェクトを管理するためのシステムおよび方法 | |
US9367448B1 (en) | Method and system for determining data integrity for garbage collection of data storage systems | |
US20090193064A1 (en) | Method and system for access-rate-based storage management of continuously stored data | |
AU2013409624A1 (en) | Data processing method and device in distributed file storage system | |
CN101176093A (zh) | 管理数据删除的方法和装置 | |
EP3859536B1 (en) | Method and device for buffering data blocks, computer device, and computer-readable storage medium | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
US20130007372A1 (en) | Management of write cache using stride objects | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN113254270B (zh) | 一种存储缓存热点数据自恢复方法、系统及存储介质 | |
CN113032335A (zh) | 文件访问方法、装置、设备及存储介质 | |
CN112256715A (zh) | 索引的更新方法、装置、电子设备以及存储介质 | |
WO2023051713A1 (en) | Systems, methods, devices, and media for data processing | |
US7895247B2 (en) | Tracking space usage in a database | |
CN110888847B (zh) | 一种回收站系统及文件回收方法 | |
US10862922B2 (en) | Server selection for optimized malware scan on NAS | |
CN114218471A (zh) | 数据查询方法、装置、系统、电子设备及存储介质 | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN105610921A (zh) | 一种集群下基于数据缓存的纠删码归档方法 | |
US11704033B1 (en) | Request routing management for a distributed storage system | |
CN113672652A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN113704200A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN114416741A (zh) | 基于多级索引的kv数据写入读取方法、装置及存储介质 | |
CN114764416A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |