CN111125128A - 一种缓存更新方法、装置及*** - Google Patents
一种缓存更新方法、装置及*** Download PDFInfo
- Publication number
- CN111125128A CN111125128A CN201911261495.2A CN201911261495A CN111125128A CN 111125128 A CN111125128 A CN 111125128A CN 201911261495 A CN201911261495 A CN 201911261495A CN 111125128 A CN111125128 A CN 111125128A
- Authority
- CN
- China
- Prior art keywords
- time
- result data
- data
- cache
- updating
- 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.)
- Granted
Links
Images
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/23—Updating
-
- 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
-
- 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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种缓存更新方法、装置及***,其中方法包括:在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子;获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间;根据所有所述有效时间中与所述当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中;当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。相比现有技术,本申请保证了缓存数据的时效性。
Description
技术领域
本申请涉及数据缓存领域,特别是缓存更新方法、装置及***。
背景技术
随着用户以及业务的快速增长,用户对数据库的查询搜索频率在不断增加。大数据时代的到来,增加了数据库的数据存储量,延长了用户的搜索等待时间。为降低数据库的查询搜索强度,加快搜索效率,缓存技术被提出。缓存就是数据交换的缓冲区,当用户查询数据时,计算机会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存数据库中找。由于缓存的运行速度比内存快得多,故缓存可以提高搜索效率,并降低数据库的访问次数。
缓存中的数据从数据库同步得到,当数据库中数据更新,而缓存中未更新时,缓存的数据就无法保证及时准确性。为此需要一种方法以解决缓存中的数据及时准确。
发明内容
本申请提供了一种缓存更新方法、装置及***,以解决现有技术中缓存数据更新不及时的问题。
本申请提供了如下方案:
第一方面提供一种缓存更新方法,所述方法包括:
在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子;
获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间;
根据所有所述有效时间中与当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中;
当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
优选的,所述当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作包括:
在接收到所述结果数据的查询请求时,获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
或;
调用定时任务周期性获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
优选的,所述方法还包括:
分别判断每一所述影响因子对应的因子缓存数据的有效时间是否到达;
对到达对应有效时间的因子缓存数据,则执行更新所述因子缓存数据的操作。
优选的,所述方法还包括:
判断所述因子缓存数据更新后的预设时间内,所述结果数据是否进行了更新操作;
若否,则执行更新所述结果数据的操作。
优选的,所述方法还包括:
在接收到针对目标页面的缓存数据的查询请求时,确定所述目标页面在页面访问路径中的页面等级;所述访问路径至少包括两级页面等级;
若所述页面等级满足预设的条件,则更新所述目标页面的缓存数据并将更新后的缓存数据返回以进行页面渲染。
优选的,所述方法还包括:
利用更新后的缓存数据更新所述目标页面的所有前级页面对应的缓存数据。
优选的,所述目标页面为商品的详情页面。
优选的,所述缓存为Redis缓存。
本申请第二方面提供一种缓存更新装置,所述装置包括:
影响因子确定单元,用于在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子;
有效时间获取单元,用于获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间;
有效时间确定单元,用于根据所有所述有效时间中与当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中;
结果数据更新单元,用于当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
本申请第三方面提供一种计算机***,所述***包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如上所述的方法。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
本申请通过在缓存结果数据的同时,获取与结果数据相关的影响因子,并进而获取影响因子的因子缓存数据的有效时间进行排序,取最接近当前时间的一个作为基准确定结果数据缓存的失效时间,当后续判断到到达结果数据的失效时间时,对其进行更新。保证了对在缓存内经过计算新获得的结果数据的及时更新机制,避免利用默认TTL设置导致因子缓存数据更新而结果数据得不到及时更新的问题,保证结果数据更新的及时性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例1方法流程图;
图2是本申请实施例1影响因子具体示例图;
图3是本申请实施例2装置结构图;
图4是计算机***结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术所述,缓存降低了数据库被访问的频率,提高了访问速度,为了保证与数据库中数据的一致性,需要对缓存数据进行更新,但实时更新占用过多资源,且很多数据的变化并不会如此频繁,因此如何在避免资源浪费的前提下,提高缓存中数据的及时性是亟待解决的问题。
为此我们在数据缓存时,利用了TTL(Time to live有效期)机制,为一种缓存数据设置了有效期,有效期到则从数据库重新加载数据到缓存中,对缓存数据进行更新。该有效期不仅是指数据的到期失效时间,还包括到期生效时间。如“双十一”的活动折扣数据就会设置到期生效时间,时间未到则数据未生效,到生效时间则数据进行生效。
有效期的设置可基于数据库中历史数据的更新频率设定。如“双十一”期间的价格数据在一周内基本保持不变,则价格缓存数据的有效期可设置为7天。而库存数据是一种实时更新的数据,则可将库存数据的有效期设置的较短,如分钟级别甚至秒级别。这一机制避免了实时更新造成的资源浪费,同时还保证了缓存数据的及时更新。
但缓存数据中有一种数据较为特殊,是由其他几种缓存数据按照一定规则计算得到,此处我们称该计算得到的数据为结果数据,用于参与计算的缓存数据为影响因子的因子缓存数据。结果数据存储在缓存中,在下一次查询时可以直接命中缓存,提高查询效率。结果数据的变化依赖因子缓存数据的变化,由因子缓存数据计算而来。比如我们展示给用户的一个商品的最终价格可能跟该商品的原价、当前活动折扣、商品购买地区折扣等相关,那么该商品的原价、当前活动折扣、商品购买地区折扣就是商品最终价格的影响因子。最终价格需要基于缓存中的几种影响因子的数据计算而来。
影响因子的因子缓存数据各有自己的有效期,这一有效期可通过在从数据库加载这些数据时设置。如商品的原价的有效期为一天,而当前活动折扣在2天后生效等。其中任一影响因子的因子缓存数据发生更新,结果数据必然发生变化,即结果数据的变化并不可以依照历史数据变化频率简单设置。如果按照默认的TTL机制为其设置有效期,将无法兼顾各个影响因子的变化,造成要么更新频率过高,要么因子变化了而结果数据还不到有效时间的问题。为此本申请实施例1创造性的提出一种结果数据有效期的设置方法。
实施例1
如图1所示,上述方法包括:
S11、在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子。
将设置结果数据有效期的操作基于结果数据缓存时触发,保证每一个即将缓存的数据都可以设置有自己的有效期。此处有效期指结果数据的失效时间。
确定与结果数据关联的所有影响因子可通过预先设置的关联关系表确定,此处的关联是指现在和未来可能与结果数据相关的所有影响因子,并非仅指参与本次结果数据计算的影响因子。
如图2中所示,结果数据的计算与缓存数据A(A1-A2)、B(B1-B2)、C(C1-C2)、D(D1-D2)均有关,但在某一时间段内,D1时间点之前,D尚未生效,因此并不参与结果数据的计算,但D仍然同A、B、C一样,为结果数据的影响因子。
S12、获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间。
如图2所示,影响因子为A、B、C、D,以获取时的当前时间看,大于该当前时间的有效时间包括A、B、C的失效时间即A2、B2、C2和D的生效时间D1。这四个时间点都将导致实际的结果数据发生变化。
S13、根据所有所述有效时间中与当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中。
将A2、B2、C2和D1进行排序,取与当前时间的时间差最小的时间来设置结果数据的TTL。如图2,与当前时间最近的是D1,计算出D1与当前时间的时间差,以此为基准设置结果数据的TTL。
实际中,可以直接设置D1为结果数据的失效时间,具体的以当前时间为结果数据的起始时间,以D1与当前时间的时间差作为结果数据的有效持续时间,并与所述结果数据关联存储在缓存中。
优选实施例中,可以在D1基础上增加预设的少量时间作为结果数据的失效时间,此时D数据已经更新生效,避免在D1时间点去更新结果数据而D数据还未更新生效或未完全更新生效造成结果数据更新失败。
S14、当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
判断是否到达所述结果数据的失效时间,可实时进行,也可调用定时任务周期性的进行,或者基于用户的查询请求触发进行。具体的,所述当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作包括:
在接收到所述结果数据的查询请求时,获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
或;
调用定时任务周期性获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
执行更新所述结果数据的操作具体指利用缓存中的与结果数据关联的影响因子的因子缓存数据进行重新计算获得新的结果数据后进行更新。
为保证重新计算得到的结果数据是最新的因子缓存数据计算得到的结果,本申请中,利用在执行更新所述结果数据的操作时,先判断是否有因子缓存数据到达失效时间或生效时间,到达的更新、生效因子缓存数据后重新计算得到新的结果数据对结果数据进行更新。
基于上述过程,实现了对缓存数据尤其是结果数据的有效期设置和失效判断以进行更新,相比现有技术,保证了在不浪费资源前提下缓存数据的及时性。
对上述结果数据更新之外,本申请方法还包括对每一影响因子的因子缓存数据进行更新,具体包括:
分别判断每一所述影响因子对应的因子缓存数据的有效时间是否到达;
对到达对应有效时间的因子缓存数据,则执行更新所述因子缓存数据的操作。
优选实施例中,还可判断所述因子缓存数据更新后的预设时间内,所述结果数据是否进行了更新操作;若否,则执行更新所述结果数据的操作。
这一步骤保证了结果数据更新失败时,可基于因子缓存数据的更新操作触发结果数据的更新,保证结果数据的及时性。
优选实施例中,当有因子缓存数据更新时,删除缓存中的与该因子缓存数据对应的结果数据,以因子缓存数据更新后计算得到的结果作为新的结果数据,保证结果数据的及时性。
上述数据被缓存后用户响应用户的数据查询请求,将数据返回给用户。返回的数据通常以页面的方式向用户展示。以电商平台的网站为例,会有不同等级的页面。如购物网站的首页,一般用于展示不同的商品分类或活动入口。点击首页上的某一具体分类的位置,如“母婴用品”可进入下一级页面,展示大分类下的各个小分类,如“奶粉”、“尿不湿”等。点击该小分类进入更下一级页面,如进入各种奶粉的展示页面,该页面一般用于展示奶粉的基本信息,如各种奶粉的价格等,点击任一种奶粉可进入再下一级,一般为商品的详情页面,如某奶粉的详情页面,展示其价格、库存、商品参数、促销活动、用途等。一级一级的浏览顺序我们称之为浏览路径。
本发明中,我们将一个浏览路径相对应的初始页面定义为一级页面,将从一级页面进入的下一页面定义为二级页面,……,将从N级页面进入的下一页面定义为N+1级页面。同理,可以理解为N级页面为N+1级页面的上一级页面,……,一级页面为二级页面的上一级页面。
不同等级的页面用于展示不同的数据,当然也有部分数据是重叠的。不同等级的页面数据的更新频率常常是不同的,越往上级的页面数据更新频率越低,如首页的页面数据可能会在有特殊活动时进行更新。而越往下级的页面数据更新频率越高,如商品详情页面其库存几乎是实时更新的。为此我们为不同等级页面的数据设置不同的有效期。对于具有实时更新需求的页面等级,在接收到数据查询请求时,即进行更新并获取更新后的数据返回,具体包括:
在接收到针对目标页面的缓存数据的查询请求时,确定所述目标页面在页面访问路径中的页面等级;所述访问路径至少包括两级页面等级;
若所述页面等级满足预设的条件,则更新所述目标页面的缓存数据并将更新后的缓存数据返回以进行页面渲染。
满足预设条件的页面等级可以根据需要设置,如实际中可将详情页面(一般为四级页面)的等级设为需要实时更新的页面等级,在目标页面大于预设等级时,根据查询请求更新缓存数据并返回更新后的数据进行页面渲染。
前述提及,不同等级页面的数据可能有重复,如商品价格在详情页面和商品小分类页面均有展示,为保持一致性,可利用更新后的缓存数据更新所述目标页面的所有前级页面对应的缓存数据。
由于前几页面的更新频率低,因此本申请中前几页面数据更新时并不同步后级页面中对应的数据。
上述实施例中提及的缓存可以为Redis缓存,也可以为其他缓存。
实施例2
对应上述方法,本申请实施例2提供一种缓存更新装置,如图3所示,所述装置包括:
影响因子确定单元31,用于在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子。
有效时间获取单元32,用于获取每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间。
有效时间确定单元33,用于确定所有所述有效时间中与当前时间最接近的时间作为所述结果数据的失效时间并与所述结果数据关联存储在缓存中。
具体的,有效时间确定单元33,用于将各有效时间排序,取与当前时间的时间差最小的时间来设置结果数据的TTL。
实际中,有效时间确定单元33,用于直接设置与当前时间的时间差最小的时间为结果数据的失效时间,具体的以当前时间为结果数据的起始时间,以与当前时间的时间差最小的时间与当前时间的时间差作为结果数据的有效持续时间,并与所述结果数据关联存储在缓存中。
优选实施例中,有效时间确定单元33,用于在与当前时间的时间差最小的时间基础上增加预设的少量时间作为结果数据的失效时间。
结果数据更新单元34,用于当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
结果数据更新单元34,具体用于:
在接收到所述结果数据的查询请求时,获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
或;
调用定时任务周期性获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
优选实施例中,上述装置还包括因此有效时间判断单元与因子缓存数据更新单元;
有效时间判断单元,用于分别判断每一所述影响因子对应的因子缓存数据的有效时间是否到达;
因子缓存数据更新单元,用于对到达对应有效时间的因子缓存数据,则执行更新所述因子缓存数据的操作。
更为优选实施例中,上述装置还可包括结果数据更新判断单元,用于判断所述因子缓存数据更新后的预设时间内,所述结果数据是否进行了更新操作;若否,则利用结果数据更新单元执行更新所述结果数据的操作。
基于前述页面等级的描述,本申请装置还包括:页面等级确定单元和页面数据更新单元;
页面等级确定单元,用于在接收到针对目标页面的缓存数据的查询请求时,确定所述目标页面在页面访问路径中的页面等级;所述访问路径至少包括两级页面等级;
页面数据更新单元,用于在所述页面等级满足预设的条件时,更新所述目标页面的缓存数据并将更新后的缓存数据返回以进行页面渲染。
前述提及,不同等级页面的数据可能有重复,如商品价格在详情页面和商品小分类页面均有展示,为保持一致性,所述页面数据更新单元,还用于利用更新后的缓存数据更新所述目标页面的所有前级页面对应的缓存数据。
实施例3
对应上述方法和装置,本申请实施例3提供一种计算机***,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行实施例一的方法步骤,如执行以下操作:
在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子;
获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间;
根据所有所述有效时间中与当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中;
当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
其中,图4示例性的展示出了计算机***的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机***1500运行的操作***1521,用于控制计算机***1500的低级别操作的基本输入输出***(BIOS)。另外,还可以存储网页浏览器1523,数据存储管理***1524,以及图标字体处理***1525等等。上述图标字体处理***1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。
输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机***1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的缓存更新方法、装置及设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种缓存更新方法,其特征在于,所述方法包括:
在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子;
获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间;
根据所有所述有效时间中与所述当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中;
当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
2.如权利要求1所述的方法,其特征在于,所述当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作包括:
在接收到所述结果数据的查询请求时,获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
或;
调用定时任务周期性获取所述结果数据的失效时间进行判断,当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
分别判断每一所述影响因子对应的因子缓存数据的有效时间是否到达;
对到达对应有效时间的因子缓存数据,则执行更新所述因子缓存数据的操作。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
判断所述因子缓存数据更新后的预设时间内,所述结果数据是否进行了更新操作;
若否,则执行更新所述结果数据的操作。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在接收到针对目标页面的缓存数据的查询请求时,确定所述目标页面在页面访问路径中的页面等级;所述访问路径至少包括两级页面等级;
若所述页面等级满足预设的条件,则更新所述目标页面的缓存数据并将更新后的缓存数据返回以进行页面渲染。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
利用更新后的缓存数据更新所述目标页面的所有前级页面对应的缓存数据。
7.如权利要求5所述的方法,其特征在于,所述目标页面为商品的详情页面。
8.如权利要求1-4任一项所述的方法,其特征在于,所述缓存为Redis缓存。
9.一种缓存更新装置,其特征在于,所述装置包括:
影响因子确定单元,用于在接收到结果数据的缓存请求时,确定与所述结果数据关联的所有影响因子;
有效时间获取单元,用于获取大于当前时间的每一所述影响因子对应的因子缓存数据的有效时间;所述有效时间为已经生效数据的失效时间和未生效数据的生效时间;
有效时间确定单元,用于根据所有所述有效时间中与当前时间最接近的时间确定所述结果数据的失效时间并与所述结果数据关联存储在缓存中;
结果数据更新单元,用于当判断到达所述结果数据的失效时间时,执行更新所述结果数据的操作。
10.一种计算机***,其特征在于,所述***包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261495.2A CN111125128B (zh) | 2019-12-10 | 2019-12-10 | 一种缓存更新方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261495.2A CN111125128B (zh) | 2019-12-10 | 2019-12-10 | 一种缓存更新方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125128A true CN111125128A (zh) | 2020-05-08 |
CN111125128B CN111125128B (zh) | 2023-07-25 |
Family
ID=70498229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261495.2A Active CN111125128B (zh) | 2019-12-10 | 2019-12-10 | 一种缓存更新方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125128B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611283A (zh) * | 2020-05-27 | 2020-09-01 | 贝壳技术有限公司 | 数据缓存方法、装置、计算机可读存储介质及电子设备 |
CN112699153A (zh) * | 2021-01-14 | 2021-04-23 | 上海交通大学 | 机票查询中的缓存存活时间设置与协同更新方法和*** |
CN113515530A (zh) * | 2021-03-30 | 2021-10-19 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
WO2022041812A1 (zh) * | 2020-08-28 | 2022-03-03 | 平安科技(深圳)有限公司 | 一种数据处理方法、相关设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103312733A (zh) * | 2012-03-08 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存*** |
CN108920573A (zh) * | 2018-06-22 | 2018-11-30 | 北京奇艺世纪科技有限公司 | 一种数据缓存处理方法、装置及终端设备 |
-
2019
- 2019-12-10 CN CN201911261495.2A patent/CN111125128B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103312733A (zh) * | 2012-03-08 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存*** |
CN108920573A (zh) * | 2018-06-22 | 2018-11-30 | 北京奇艺世纪科技有限公司 | 一种数据缓存处理方法、装置及终端设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611283A (zh) * | 2020-05-27 | 2020-09-01 | 贝壳技术有限公司 | 数据缓存方法、装置、计算机可读存储介质及电子设备 |
WO2022041812A1 (zh) * | 2020-08-28 | 2022-03-03 | 平安科技(深圳)有限公司 | 一种数据处理方法、相关设备及计算机可读存储介质 |
CN112699153A (zh) * | 2021-01-14 | 2021-04-23 | 上海交通大学 | 机票查询中的缓存存活时间设置与协同更新方法和*** |
CN113515530A (zh) * | 2021-03-30 | 2021-10-19 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
CN113515530B (zh) * | 2021-03-30 | 2023-06-13 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111125128B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125128B (zh) | 一种缓存更新方法、装置及*** | |
CN110717121B (zh) | 一种页面首屏时间确定方法及装置 | |
EP3399435A1 (en) | Method and device for processing short link, and short link server | |
US20180011720A1 (en) | Embedding non-blocking help components in a display page using discovery drawer feature cues | |
US20140195893A1 (en) | Method and Apparatus for Generating Webpage Content | |
US9904939B2 (en) | System and method for targeting advertising to a device based on installed applications | |
JP2016224987A (ja) | 検索結果へのアクセスを改良するシステム、方法及び記憶媒体 | |
WO2014074216A1 (en) | Smart web notifications | |
WO2001073600A1 (en) | Cache time determination | |
CN103488785A (zh) | 提供搜索服务的方法、***及服务器 | |
US9684627B1 (en) | Determining a likelihood of completion of a task | |
CN110598149A (zh) | 网页访问方法、装置和存储介质 | |
CN112711372B (zh) | 视障模式下的页面响应方法、计算设备及计算机存储介质 | |
CN111639965B (zh) | 积分更新方法及装置 | |
CN106844744B (zh) | 点击模型应用方法、装置及搜索*** | |
WO2012161928A1 (en) | Techniques to automatically search selected content | |
CN107341181B (zh) | 搜索推荐方法、装置、计算机可读存储介质及计算机设备 | |
US11556231B1 (en) | Selecting an action member in response to input that indicates an action class | |
CN111782692A (zh) | 一种频率控制方法及装置 | |
JP4756001B2 (ja) | 情報提供装置、適正判定情報生成方法及び適正判定情報生成処理プログラム | |
CN109885729B (zh) | 一种显示数据的方法、装置及*** | |
CN115131103A (zh) | 数据处理方法、终端、服务器、电子设备及存储介质 | |
CN107526748B (zh) | 一种识别用户点击行为的方法和设备 | |
US10831511B2 (en) | Customized application programming interface presentation | |
CN113760977A (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 |