CN110543492A - 一种防止缓存失效的方法及装置 - Google Patents
一种防止缓存失效的方法及装置 Download PDFInfo
- Publication number
- CN110543492A CN110543492A CN201910744872.1A CN201910744872A CN110543492A CN 110543492 A CN110543492 A CN 110543492A CN 201910744872 A CN201910744872 A CN 201910744872A CN 110543492 A CN110543492 A CN 110543492A
- Authority
- CN
- China
- Prior art keywords
- cache
- old data
- data
- target
- database
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种防止缓存失效的方法及装置,涉及数据处理领域,能够保证缓存中常用数据的有效性。该方法包括:接收用户终端发送的携带有目标标识的数据访问请求,若确定缓存中存在目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种防止缓存失效的方法及装置。
背景技术
缓存技术是一种当前比较常见的快速响应用户请求的技术,该技术可以在很大程度上避免重复访问数据库,极大的提升了系统的处理速度,但是也引入了一些不可避免的缺点:如缓存雪崩,缓存雪崩是指缓存在同一时间失效,会发生大量的缓存穿透,导致所有的查询都落到了数据库上,造成数据库压力过大。
常见的解决办法包括:设置随机的缓存失效时间、缓存过期后使用加锁排队从数据库更新数据到缓存、缓存永不过期,异步线程更新缓存内容、二级缓存或者双缓存策略。但上述方法都有一定的局限性,例如:设置随机的缓存失效时间方法很难界定合理的随机范围,使之既能保证足够的随机,也可保证合理的缓存时间;缓存过期后使用加锁排队从数据库更新数据到缓存的方法应用的响应时长,如果出现大量缓存失效,排队获取最新数据会使得大量用户请求积压;缓存永不过期,异步线程更新缓存内容的方法可能造成大量冷数据积压占用宝贵缓存空间,异步线程更新无法保证时效性,可能造成用户读取旧/脏数据;二级缓存或者双缓存策略的方法可能造成用户读取旧/脏数据,且多级缓存维护成本增加。
发明内容
本申请的实施例提供一种防止缓存失效的方法及装置,可以保证缓存中常用数据的有效性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种防止缓存失效的方法,包括:接收用户终端发送的携带有目标标识的数据访问请求;若确定缓存中存在目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。
上述实施例提供的防止缓存失效的方法,首先接收用户终端发送的携带有目标标识的数据访问请求;若确定缓存中存在目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。当确定缓存中存在目标标识对应的目标数据时,立即刷新目标数据在缓存中的失效时间,可以保证缓存中的目标数据不会失效,防止用户终端访问目标数据时,若目标数据已失效,则容易造成缓存雪崩,本申请实施例保证了数据的有效性。
第二方面,提供一种防止缓存失效的装置,包括:接收单元和处理单元;接收单元,用于接收用户终端发送的携带有目标标识的数据访问请求;处理单元,用于在确定缓存中存在接收单元接收的目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。
第三方面,提供一种防止缓存失效的装置,包括存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当防止缓存失效的装置运行时,处理器执行存储器存储的计算机执行指令,以使防止缓存失效的装置执行如第一方面提供的防止缓存失效的方法。
第四方面,提供一种计算机存储介质,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面提供的防止缓存失效的方法。
本发明实施例提供的防止缓存失效的方法及装置,该方法包括:接收用户终端发送的携带有目标标识的数据访问请求;若确定缓存中存在目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。本申请实施例提供的防止缓存失效的方法及装置,当确定缓存中存在目标标识对应的目标数据时,立即刷新目标数据在缓存中的失效时间,可以保证缓存中的目标数据不会失效,解决了用户终端访问目标数据时,若目标数据已失效,则容易造成缓存雪崩的技术问题,保证了数据的有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种防止缓存失效的方法的应用场景示意图;
图2为本发明实施例提供的一种防止缓存失效的方法的流程示意图;
图3为本发明实施例提供的另一种防止缓存失效的方法的流程示意图;
图4为本发明实施例提供的另一种防止缓存失效的方法的流程示意图;
图5为本发明实施例提供的一种防止缓存失效的装置的结构示意图;
图6为本发明实施例提供的另一种防止缓存失效的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
还需要说明的是,本发明实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
在本申请的描述中,用户终端可以为用户设备(user equipment,UE),如:手机、电脑,还可以为蜂窝电话、无绳电话、会话发起协议(session initiation protocol,SIP)电话、智能电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personaldigital assistant,PDA)、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premiseequipment,CPE)和/或用于在无线系统上进行通信的其它设备。
缓存技术可以在很大程度上避免重复运算和重复访问数据库,极大的提升了服务器的处理速度,如图1所示,用户终端在使用多个应用时,可以通过统一的缓存应用访问缓存数组件,例如redis存储系统;若命中缓存,则从缓存中获取目标数据,若未命中缓存,则从数据库中获取数据;而设置缓存失效时间是缓存技术中防止缓存中数据失效的常用的技术手段,在使用缓存时,使用缓存技术的系统会设置缓存的有效时间,例如半小时。在缓存中的数据未失效之前,该系统可以命中缓存快速返回命中结果;现有的防止缓存失效的方案都有一定的局限性,例如:无法设置即合理也随机的缓存失效时间、应用的响应时长、容易造成大量冷数据积压占用宝贵缓存空间、容易造成用户读取旧/脏数据和多级缓存维护成本增加的技术问题。
针对上述问题,参照图2所示,本发明实施例提供一种防止缓存失效的方法,包括S101-S106:
S101、接收用户终端发送的携带有目标标识的数据访问请求。
具体的,用户终端在访问数据时,需要将携带有目标标识的数据访问请求发送至服务器,服务器根据该目标标识确定用户终端的数据访问请求对应的目标数据。
S102、判断缓存中是否存在目标标识对应的目标数据。
具体的,服务器在接收到用户终端发送的携带有目标标识的数据访问请求后,可以根据目标标识获取对应的目标数据,而服务器在根据目标标识获取对应的目标数据时,首先判断缓存中是否存在目标数据,若确定缓存中存在目标数据,执行步骤S103,若确定缓存中不存在目标数据,则执行步骤S104。
S103、刷新目标数据在缓存中的失效时间。
具体的,当服务器确定缓存中存在目标标识对应的目标数据后,刷新目标数据在缓存中的失效时间,该目标数据在缓存中的失效时间为该目标数据在第一次写入缓存中设置的失效时间,服务器在确定缓存中存在目标数据时,可以先将目标数据发送给用户终端,然后刷新目标数据在缓存中的失效时间,也可以先刷新目标数据在缓存中的失效时间,然后将目标数据发送给用户终端,还可以是将目标数据发送给用户终端的同时,刷新目标数据在缓存中的失效时间,服务器在确定缓存中存在目标数据后刷新目标数据在缓存中的失效时间可以有效的防止目标数据在缓存中因时间过长而失效,降低了缓存雪崩的概率。
S104、根据目标标识从与缓存对应的数据库中获取目标数据。
具体的,当服务器确定缓存中不存在目标标识对应的目标数据后,从缓存对应的数据库中获取目标数据,该缓存对应的数据库存在全部数据,若目标数据不在缓存中,则需要从数据库中获取目标数据。
S105、将目标数据写入缓存。
具体的,服务器在数据库中获取到目标数据后,为了方便下次可以快速访问该目标数据,因此,将目标数据写入数据库对应的缓存中。
S106、依据预设规则设置目标数据在缓存中的失效时间。
具体的,服务器将目标数据写入缓存后,需要设置目标数据在缓存中的失效时间,防止该目标数据在缓存中一直占有缓存的空间,服务器可以根据预设规则设置目标数据在缓存中的失效时间,该预设规则可以是人为设定每个数据的失效时间,例如所有的数据失效时间都为半个小时,也可以根据每个数据的热度设置不同的失效时间,例如热度高的数据设置失效时间为1个小时,热度低的数据设置失效时间为15分钟,也可以是其他设置失效时间的方法,在此不做限定。
本申请实施例提供一种防止缓存失效的方法,可以提高缓存的处理能力,降低由于缓存失效引起缓存雪崩的概率,通过用户终端发送的携带有目标标识的数据访问请求,当确定缓存中存在目标标识对应的目标数据时,立即刷新目标数据在缓存中的失效时间,若确定缓存中不存在目标标识对应的目标数据,则根据目标标识从与缓存对应的数据库中获取目标数据,并将目标数据写入缓存,然后依据预设规则设置目标数据在缓存中的失效时间,本申请实施例可以保证缓存中的目标数据在被请求时始终是有效的,避免缓存中的数据失效,有效的降低了由缓存失效引起缓存雪崩的概率。
若数据库中存在旧数据时,则需要对数据库以及数据库对应的缓存中的旧数据进行处理,以保证缓存中存储的数据都是最新的,不会让用户从缓存中获得旧数据。因此,可选的,参照图3所示,本发明实施例在步骤S101之后,还包括S201-S209:
S201、判断数据库中是否存在旧数据。
具体的,数据库中的数据会根据时间的推移不停的变化,例如,数据的更新,和/或,数据的逻辑删除,当数据需要更新时,和/或,需要逻辑删除时,数据库中的需要更新,和/或,需要逻辑删除的原始数据即为旧数据,服务器需要判断数据库中是否存至旧数据,若确定数据库中存在旧数据,执行步骤S202,若数据库中不存在旧数据,则执行步骤S102,即当确定数据库中不存在旧数据时,判断缓存中是否存在目标数据。
S202、判断旧数据是否为需要更新的第一类旧数据。
具体的,数据库中的数据需要实时更新,而需要更新的旧数据即为第一类旧数据,服务器可以判断数据库中的旧数据是否为需要更新的第一类旧数据,若确定旧数据为需要更新的第一类旧数据,执行步骤S203,若确定旧数据不是需要更新的第一类旧数据,则执行步骤S206。
S203、根据预设更新规则更新数据库中的旧数据以得到第一旧数据。
具体的,在确定旧数据为需要更新的第一类旧数据之后,服务器可以根据预设更新规则更新数据库中的旧数据以得到第一旧数据。其中,预设更新规则可以是第一旧数据在该第一类旧数据的基础上按照固定周期将原数据进行变换(例如将原数据加1)更新后得到,也可以是按照固定周期从外界获取新的数据替换该第一类旧数据,还可以是其他方式,此处不做具体限制;该固定周期可以是一个固定时间长度,例如5秒或者5分钟,也可以是其他数值,在此不做限定。
S204、判断缓存中是否存在第一类旧数据。
具体的,服务器在根据预设更新规则更新数据库中的旧数据以得到第一旧数据之后,还需要判断数据库对应的缓存中是否存在第一类旧数据,若数据库对应的缓存中也存在第一类旧数据,则执行步骤S205,若数据库对应的缓存中不存在第一类旧数据,则执行步骤S102。
S205、将缓存中的第一类旧数据更新为第一旧数据,并将第一旧数据在缓存中的失效时间设置为第一类旧数据在缓存中的失效时间的初始值。
具体的,服务器在确定数据库对应的缓存中也存在第一类旧数据之后,需要将缓存中的第一类旧数据更新为第一旧数据,其更新方法与数据库中的第一类旧数据更新为第一旧数据的方法一致,在此不做赘述,将缓存中的第一类旧数据更新为第一旧数据之后,还需要将第一旧数据在缓存中的失效时间设置为第一类旧数据在缓存中的失效时间的初始值,即将缓存中更新后的数据设置一个数据失效时间,该失效时间与第一类旧数据在缓存中的失效时间的初始值一致。
S206、判断旧数据是否为需要逻辑删除的第二类旧数据。
具体的,在确定旧数据不是需要更新的第一类旧数据之后,服务器判断数据库中的旧数据是否为需要逻辑删除的第二类旧数据;逻辑删除是指文件没有被真正的删除,只不过是文件名的第一个字节被改成操作系统无法识别的字符。通常这种删除操作是可逆的,就是说用适当的工具或软件可以把删除的文件恢复出来。当服务器确定旧数据为需要逻辑删除的第二类旧数据,执行步骤S207,当服务器确定旧数据不是需要逻辑删除的第二类旧数据,执行步骤S102。
S207、逻辑删除数据库中的旧数据。
具体的,当服务器确定旧数据为需要逻辑删除的第二类旧数据时,服务器需要将数据库中的旧数据进行逻辑删除。
S208、判断缓存中是否存在第二类旧数据。
具体的,在逻辑删除数据库中的旧数据之后,服务器还需要判断缓存中是否存在第二类旧数据,即判断缓存中是否存在需要逻辑删除的数据,若确定缓存中存在第二类旧数据时,执行步骤S209,若确定缓存中不存在第二类旧数据时,则执行步骤S102。
S209、逻辑删除缓存中的第二类旧数据。
具体的,若确定缓存中存在第二类旧数据时,服务器需要将缓存中的旧数据进行逻辑删除。
可选的,如果数据库中存在需要物理删除的旧数据,则需要对数据库以及数据库对应的缓存中的需要物理删除的旧数据进行处理,因此,参照图4所示,本发明实施例在步骤S101之后,还包括S301-S303:
S301、判断数据库中是否存在需要物理删除的第三类旧数据。
具体的,在计算机中资料数据等都以文件形式存储,删除文件分为两种情况,一种是逻辑删除,另一种则是物理删除;物理删除是指文件存储所用到的磁存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的。服务器需要判断数据库中是否存在需要物理删除的第三类旧数据,若数据库中存在需要物理删除的第三类旧数据,执行步骤S302,若数据库中不存在需要物理删除的第三类旧数据,执行步骤S102。
S302、判断缓存中是否存在第三类旧数据。
具体的,服务器在确定数据库中存在需要物理删除的第三类旧数据之后,还需要判断数据库对应的缓存中是否存在第三类旧数据,若数据库对应的缓存中也存在第三类旧数据,则执行步骤S303,若数据库对应的缓存中不存在第三类旧数据,则执行步骤S102。
S303、物理删除缓存中的第三类旧数据。
具体的,服务器在确定数据库对应的缓存中也存在第三类旧数据之后,将缓存中的第三类旧数据进行物理删除,防止该数据在缓存中成为无效数据。
可选的,如果数据库中需要新增数据,则需要将新增数据直接写入数据库中,但无需写入缓存,若用户终端需要访问新增数据,则执行步骤S104,在用户终端访问新增数据时才将新增数据写入缓存,并设置新增数据在缓存中的失效时间,这样可以防止新增数据过早的写入缓存但并无用户终端访问缓存中的新增数据,从而造成缓存中的数据过多,影响缓存性能。
本发明实施例提供的防止缓存失效的方法,该方法包括:接收用户终端发送的携带有目标标识的数据访问请求;若确定缓存中存在目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。本申请实施例提供的防止缓存失效的方法,当确定缓存中存在目标标识对应的目标数据时,立即刷新目标数据在缓存中的失效时间,可以保证缓存中的目标数据不会失效,解决了用户终端访问目标数据时,若目标数据已失效,则容易造成缓存雪崩的技术问题,且在数据库中的数据需要更新、逻辑删除和物理删除,以及需要新增数据时,同步处理缓存中的数据,保证了缓存和数据库的同步,保证了数据的有效性。
本申请实施例可以根据上述方法示例对防止缓存失效的装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块或者处理单元中。上述集成的模块或者单元既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
参照图5所示,本发明实施例还提供一种防止缓存失效的装置01,包括:接收单元41和处理单元42;
接收单元41,用于接收用户终端发送的携带有目标标识的数据访问请求;
处理单元42,用于在确定缓存中存在接收单元41接收的目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。
可选的,该防止缓存失效的装置还包括:获取单元43和读写单元44;
获取单元43,用于在处理单元42确定缓存中不存在目标数据时,根据接收单元接收到的目标标识从与缓存对应的数据库中获取目标数据;
读写单元44,用于将获取单元43获取的目标数据写入缓存;
处理单元42,用于依据预设规则设置读写单元44写入的目标数据在缓存中的失效时间。
可选的,该防止缓存失效的装置装置还包括:判断单元45;
判断单元45,用于判断数据库中是否存在旧数据;
判断单元45还用于当确定数据库中存在旧数据时,判断旧数据是否为需要更新的第一类旧数据;
处理单元42还用于当判断单元45确定旧数据为第一类旧数据时,根据预设更新规则更新数据库中的旧数据以得到第一旧数据;
判断单元45还用于判断缓存中是否存在第一类旧数据;
处理单元42还用于当判断单元45确定缓存中存在第一类旧数据时,将缓存中的第一类旧数据更新为第一旧数据,并将第一旧数据在缓存中的失效时间设置为第一类旧数据在缓存中的失效时间的初始值。
可选的,判断单元45还用于当确定旧数据不为第一类旧数据时,判断旧数据是否为需要逻辑删除的第二类旧数据;
处理单元42还用于当判断单元45确定旧数据为第二类旧数据时,逻辑删除数据库中的旧数据;
判断单元45还用于判断缓存中是否存在第二类旧数据;
处理单元42还用于当判断单元45确定缓存中存在第二类旧数据时,逻辑删除缓存中的第二类旧数据。
可选的,判断单元45还用于当确定数据库中不存在旧数据时,判断缓存中是否存在目标数据。
本发明实施例提供的防止缓存失效的装置,因为该装置包括:接收单元,用于接收用户终端发送的携带有目标标识的数据访问请求;处理单元,用于在确定缓存中存在接收单元接收的目标标识对应的目标数据,则刷新目标数据在缓存中的失效时间。所以本发明实施例提供的防止缓存失效的装置在对数据库及缓存进行处理时,本申请实施例提供的防止缓存失效的装置,当确定缓存中存在目标标识对应的目标数据时,立即刷新目标数据在缓存中的失效时间,可以保证缓存中的目标数据不会失效,解决了用户终端访问目标数据时,若目标数据已失效,则容易造成缓存雪崩的技术问题,且在数据库中的数据需要更新、逻辑删除和物理删除,以及需要新增数据时,同步处理缓存中的数据,保证了缓存和数据库的同步,保证了数据的有效性。
参照图6所示,本发明实施例还提供另一种防止缓存失效的装置,包括存储器61、处理器62、总线63和通信接口64;存储器61用于存储计算机执行指令,处理器62与存储器61通过总线63连接;当防止缓存失效的装置运行时,处理器62执行存储器61存储的计算机执行指令,以使防止缓存失效的装置执行如上述实施例提供的防止缓存失效的方法。
在具体的实现中,作为一种实施例,处理器62(62-1和62-2)可以包括一个或多个CPU,例如图6中所示的CPU0和CPU1。且作为一种实施例,防止缓存失效的装置可以包括多个处理器62,例如图6中所示的处理器62-1和处理器62-2。这些处理器62中的每一个CPU可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器62可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器61可以是只读存储器61(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器61可以是独立存在,通过通信总线63与处理器62相连接。存储器61也可以和处理器62集成在一起。
在具体的实现中,存储器61,用于存储本申请中的数据和执行本申请的软件程序对应的计算机执行指令。处理器62可以通过运行或执行存储在存储器61内的软件程序,以及调用存储在存储器61内的数据,防止缓存失效的装置的各种功能。
通信接口64,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口64可以包括接收单元实现接收功能,以及获取单元实现获取功能。
总线63,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线63可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机存储介质,计算机存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的防止缓存失效的方法。
本发明实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述实施例提供的防止缓存失效的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种防止缓存失效的方法,其特征在于,包括:
接收用户终端发送的携带有目标标识的数据访问请求;
若确定缓存中存在所述目标标识对应的目标数据,则刷新所述目标数据在所述缓存中的失效时间。
2.根据权利要求1所述的防止缓存失效的方法,其特征在于,所述接收用户终端发送的携带有目标标识的数据访问请求之后还包括:
若确定所述缓存中不存在所述目标数据,则根据所述目标标识从与所述缓存对应的数据库中获取所述目标数据;
将所述目标数据写入所述缓存;
依据预设规则设置所述目标数据在所述缓存中的失效时间。
3.根据权利要求1所述的防止缓存失效的方法,其特征在于,所述接收用户终端发送的携带有目标标识的数据访问请求之后还包括:
判断所述数据库中是否存在旧数据;
当确定所述数据库中存在所述旧数据时,判断所述旧数据是否为需要更新的第一类旧数据;
当确定所述旧数据为所述第一类旧数据时,根据预设更新规则更新所述数据库中的所述旧数据以得到第一旧数据;
判断所述缓存中是否存在所述第一类旧数据;
当确定所述缓存中存在所述第一类旧数据时,将所述缓存中的所述第一类旧数据更新为所述第一旧数据,并将所述第一旧数据在所述缓存中的失效时间设置为所述第一类旧数据在所述缓存中的失效时间的初始值。
4.根据权利要求3所述的防止缓存失效的方法,其特征在于,所述判断所述旧数据是否为需要更新的第一类旧数据之后还包括:
当确定所述旧数据不为所述第一类旧数据时,判断所述旧数据是否为需要逻辑删除的第二类旧数据;
当确定所述旧数据为所述第二类旧数据时,逻辑删除所述数据库中的所述旧数据;
判断所述缓存中是否存在所述第二类旧数据;
当确定所述缓存中存在所述第二类旧数据时,逻辑删除所述缓存中的所述第二类旧数据。
5.根据权利要求3所述的防止缓存失效的方法,其特征在于,所述判断所述数据库中是否存在旧数据之后还包括:
当确定所述数据库中不存在所述旧数据时,判断所述缓存中是否存在所述目标数据。
6.一种防止缓存失效的装置,其特征在于,包括:接收单元和处理单元;
所述接收单元,用于接收用户终端发送的携带有目标标识的数据访问请求;
所述处理单元,用于在确定缓存中存在所述接收单元接收的所述目标标识对应的目标数据,则刷新所述目标数据在所述缓存中的失效时间。
7.根据权利要求6所述的防止缓存失效的装置,其特征在于,所述装置还包括:获取单元和读写单元;
所述获取单元,用于在所述处理单元确定所述缓存中不存在所述目标数据时,根据所述接收单元接收到的所述目标标识从与所述缓存对应的数据库中获取所述目标数据;
所述读写单元,用于将所述获取单元获取的所述目标数据写入所述缓存;
所述处理单元,用于依据预设规则设置所述读写单元写入的所述目标数据在所述缓存中的失效时间。
8.根据权利要求6所述的防止缓存失效的装置,其特征在于,所述装置还包括:判断单元;
所述判断单元,用于判断所述数据库中是否存在旧数据;
所述判断单元还用于当确定所述数据库中存在所述旧数据时,判断所述旧数据是否为需要更新的第一类旧数据;
所述处理单元还用于当所述判断单元确定所述旧数据为所述第一类旧数据时,根据预设更新规则更新所述数据库中的所述旧数据以得到第一旧数据;
所述判断单元还用于判断所述缓存中是否存在所述第一类旧数据;
所述处理单元还用于当所述判断单元确定所述缓存中存在所述第一类旧数据时,将所述缓存中的所述第一类旧数据更新为所述第一旧数据,并将所述第一旧数据在所述缓存中的失效时间设置为所述第一类旧数据在所述缓存中的失效时间的初始值。
9.根据权利要求8所述的防止缓存失效的装置,其特征在于,
所述判断单元还用于当确定所述旧数据不为所述第一类旧数据时,判断所述旧数据是否为需要逻辑删除的第二类旧数据;
所述处理单元还用于当所述判断单元确定所述旧数据为所述第二类旧数据时,逻辑删除所述数据库中的所述旧数据;
所述判断单元还用于判断所述缓存中是否存在所述第二类旧数据;
所述处理单元还用于当所述判断单元确定所述缓存中存在所述第二类旧数据时,逻辑删除所述缓存中的所述第二类旧数据。
10.根据权利要求8所述的防止缓存失效的装置,其特征在于,
所述判断单元还用于当确定所述数据库中不存在所述旧数据时,判断所述缓存中是否存在所述目标数据。
11.一种防止缓存失效的装置,其特征在于,包括存储器、处理器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;当所述防止缓存失效的装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述防止缓存失效的装置执行如权利要求1-5任一项所述的防止缓存失效的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的防止缓存失效的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744872.1A CN110543492A (zh) | 2019-08-13 | 2019-08-13 | 一种防止缓存失效的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744872.1A CN110543492A (zh) | 2019-08-13 | 2019-08-13 | 一种防止缓存失效的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110543492A true CN110543492A (zh) | 2019-12-06 |
Family
ID=68711369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910744872.1A Pending CN110543492A (zh) | 2019-08-13 | 2019-08-13 | 一种防止缓存失效的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543492A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625566A (zh) * | 2020-05-29 | 2020-09-04 | 北京字节跳动网络技术有限公司 | 数据缓存方法、装置、介质和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630819A (zh) * | 2014-11-03 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN105975352A (zh) * | 2016-04-28 | 2016-09-28 | 努比亚技术有限公司 | 一种缓存数据处理方法及服务器 |
CN106202485A (zh) * | 2016-07-18 | 2016-12-07 | 乐视控股(北京)有限公司 | 数据操作方法和系统 |
CN108153796A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种电子红包的数据处理方法、装置和系统 |
CN108509562A (zh) * | 2018-03-23 | 2018-09-07 | 聚好看科技股份有限公司 | 业务处理方法、装置、电子设备及存储介质 |
-
2019
- 2019-08-13 CN CN201910744872.1A patent/CN110543492A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630819A (zh) * | 2014-11-03 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN105975352A (zh) * | 2016-04-28 | 2016-09-28 | 努比亚技术有限公司 | 一种缓存数据处理方法及服务器 |
CN106202485A (zh) * | 2016-07-18 | 2016-12-07 | 乐视控股(北京)有限公司 | 数据操作方法和系统 |
CN108153796A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种电子红包的数据处理方法、装置和系统 |
CN108509562A (zh) * | 2018-03-23 | 2018-09-07 | 聚好看科技股份有限公司 | 业务处理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625566A (zh) * | 2020-05-29 | 2020-09-04 | 北京字节跳动网络技术有限公司 | 数据缓存方法、装置、介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307769B2 (en) | Data storage method, apparatus and storage medium | |
CN107066397B (zh) | 用于管理数据迁移的方法、系统和存储介质 | |
US8775737B2 (en) | Efficient cache management | |
US8775755B2 (en) | Peer-to-peer transcendent memory | |
CN110018998B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
US10649905B2 (en) | Method and apparatus for storing data | |
US9665658B2 (en) | Non-blocking queue-based clock replacement algorithm | |
CN107888687B (zh) | 一种基于分布式存储系统的代理客户端存储加速方法及系统 | |
US20150143045A1 (en) | Cache control apparatus and method | |
CN107341114B (zh) | 一种目录管理的方法、节点控制器和系统 | |
US11226898B2 (en) | Data caching method and apparatus | |
EP4310691A1 (en) | Blockchain-based data processing method, apparatus, and device, and storage medium | |
CN109376125A (zh) | 一种元数据存储方法、装置、设备及计算机可读存储介质 | |
CN106354664A (zh) | 一种固态硬盘数据传输方法及装置 | |
CN115794682A (zh) | 缓存替换方法及装置、电子设备、存储介质 | |
EP4369191A1 (en) | Memory scanning method and apparatus | |
CN113495854A (zh) | 主机-设备系统中实现或管理缓存一致性的方法和系统 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
CN115080459A (zh) | 缓存管理方法及装置、计算机可读存储介质 | |
EP3249539B1 (en) | Method and device for accessing data visitor directory in multi-core system | |
CN104364776A (zh) | 使用缓存缺失请求提供缓存替换通知 | |
CN110543492A (zh) | 一种防止缓存失效的方法及装置 | |
CN113138851B (zh) | 一种数据管理方法、相关装置及系统 | |
US20230048813A1 (en) | Method of storing data and method of reading data | |
CN112115521B (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 |
Application publication date: 20191206 |
|
RJ01 | Rejection of invention patent application after publication |