缓存数据的动态更新方法、装置、设备及介质.pdf

上传人:li****8 文档编号:14331777 上传时间:2024-02-15 格式:PDF 页数:17 大小:1.83MB
返回 下载 相关 举报
缓存数据的动态更新方法、装置、设备及介质.pdf_第1页
第1页 / 共17页
缓存数据的动态更新方法、装置、设备及介质.pdf_第2页
第2页 / 共17页
缓存数据的动态更新方法、装置、设备及介质.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《缓存数据的动态更新方法、装置、设备及介质.pdf》由会员分享,可在线阅读,更多相关《缓存数据的动态更新方法、装置、设备及介质.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310631206.3(22)申请日 2023.05.30(71)申请人 北京奇艺世纪科技有限公司地址 100080 北京市海淀区海淀北一街2号10层、11层(72)发明人 艾国信郑宇卿(74)专利代理机构 北京华夏泰和知识产权代理有限公司 11662专利代理师 刘立志(51)Int.Cl.G06F 16/23(2019.01)G06F 16/2455(2019.01)G06F 16/25(2019.01)G06Q 30/0601(2023.01)(54)发明名称缓存数据的动态更新方法、装置。

2、、设备及介质(57)摘要本申请涉及一种缓存数据的动态更新方法、装置、设备及介质,涉及计算机技术领域,该方法应用于商品数据更新,包括:在检测到定时更新任务触发的情况下,确定待更新缓存键,针对待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将商品更新数据作为待更新缓存键对应的缓存值,基于待更新缓存键和缓存值生成待更新缓存数据,对待更新缓存键进行键值名变更,以使待更新缓存数据对原始缓存数据进行动态替换更新,从而达到平滑切换缓存、动态更新缓存的目的,解决了现有的缓存数据更新方法所存在的缓存数据更新不及时的问题。权利要求书2页 说明书10页 附图4页CN 116610689 。

3、A2023.08.18CN 116610689 A1.一种缓存数据的动态更新方法,其特征在于,所述方法应用于商品数据更新,所述方法包括:在检测到定时更新任务触发的情况下,确定待更新缓存键;针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值;基于所述待更新缓存键和所述缓存值生成待更新缓存数据;对所述待更新缓存键进行键值名变更,以使所述待更新缓存数据对原始缓存数据进行动态替换更新。2.根据权利要求1所述的方法,其特征在于,所述确定待更新缓存键之前,还包括:获取预设的定时任务信息和系统时间,所述定时任务信息包含初始更。

4、新时间和更新间隔;基于所述初始更新时间和所述更新间隔进行更新计算,得到缓存数据更新时间;判断所述缓存数据更新时间是否与所述系统时间相匹配;若所述缓存数据更新时间与所述系统时间相匹配,则确定所述定时更新任务触发。3.根据权利要求1所述的方法,其特征在于,所述确定待更新缓存键,包括:获取预设的命令行;利用所述命令行,在缓存服务内进行键创建,得到所述待更新缓存键。4.根据权利要求1所述的方法,其特征在于,所述针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,包括:获取商品标识,并确定所述商品标识对应预设的商品数据接口;针对所述待更新缓存键,对所述商品数据接口进行商品数。

5、据遍历,得到所述商品标识对应的商品更新数据。5.根据权利要求1所述的方法,其特征在于,所述基于所述待更新缓存键和所述缓存值生成待更新缓存数据,包括:基于所述待更新缓存键和所述缓存值进行键值对构建,得到所述待更新缓存数据。6.根据权利要求1所述的方法,其特征在于,对所述待更新缓存键进行键值名变更,包括:从所述原始缓存数据中提取原始缓存键;确定所述原始缓存键对应的键名信息;基于所述键名信息对所述待更新缓存键的键名进行覆盖变更。7.根据权利要求1所述的方法,其特征在于,所述对所述待更新缓存键进行键值名变更之后,还包括:获取用户端的访问请求;基于所述访问请求进行缓存数据检索,得到待推送数据;向所述用户。

6、端推送所述待推送数据,所述用户端基于所述待推送数据进行商品数据展示。8.一种缓存数据的动态更新装置,其特征在于,所述装置应用于商品数据更新,包括:待更新缓存键确定模块,用于在检测到定时更新任务触发的情况下,确定待更新缓存键;权利要求书1/2 页2CN 116610689 A2遍历处理模块,用于针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值;待更新缓存数据生成模块,用于基于所述待更新缓存键和所述缓存值生成待更新缓存数据;键值名变更模块,用于对所述待更新缓存键进行键值名变更,以使所述待更新缓存数据对原始缓存数据。

7、进行动态替换更新。9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求17任一项所述的缓存数据的动态更新方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求17任一项所述的缓存数据的动态更新方法的步骤。权利要求书2/2 页3CN 116610689 A3缓存数据的动态更新方法、装置、设备及介质技术领域0001本申请涉及计算机技术领域,尤其涉及一种缓存数据的动态更新方法、装置。

8、、设备及介质。背景技术0002目前,诸如商城类应用程序(Application,App),其商品频道页通常采用feed(订阅源)流形式展示。通常来说feed流中的商品,其中一个来源是商品数据接口,通过访问商品数据接口获取商品数据,而商品数据接口中的商品数据是动态变化的,因为存在商品可能售卖完了或商品下线了等情况。现有的缓存数据更新方法主要是定时遍历商品数据接口,以更新缓存数据,在缓存数据更新时,用户访问商品数据则会出现用户接口超时,无法获取更新数据,存在缓存数据更新不及时的问题。发明内容0003本申请提供了一种缓存数据的动态更新方法、装置、设备及介质,从而达到平滑切换缓存、动态更新缓存的目的,。

9、提高用户体验,解决了现有的缓存数据更新方法所存在的缓存数据更新不及时的问题。0004第一方面,本申请提供了一种缓存数据的动态更新方法,所述方法应用于商品数据更新,包括:0005在检测到定时更新任务触发的情况下,确定待更新缓存键;0006针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值;0007基于所述待更新缓存键和所述缓存值生成待更新缓存数据;0008对所述待更新缓存键进行键值名变更,以使所述待更新缓存数据对原始缓存数据进行动态替换更新。0009可选的,所述确定待更新缓存键之前,还包括:0010获取预设的定时。

10、任务信息和系统时间,所述定时任务信息包含初始更新时间和更新间隔;0011基于所述初始更新时间和所述更新间隔进行更新计算,得到缓存数据更新时间;0012判断所述缓存数据更新时间是否与所述系统时间相匹配;0013若所述缓存数据更新时间与所述系统时间相匹配,则确定所述定时更新任务触发。0014可选的,所述确定待更新缓存键,包括:0015获取预设的命令行;0016利用所述命令行,在缓存服务内进行键创建,得到所述待更新缓存键。0017可选的,所述针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,包括:说明书1/10 页4CN 116610689 A40018获取商品标识,。

11、并确定所述商品标识对应预设的商品数据接口;0019针对所述待更新缓存键,对所述商品数据接口进行商品数据遍历,得到所述商品标识对应的商品更新数据。0020可选的,所述基于所述待更新缓存键和所述缓存值生成待更新缓存数据,包括:0021基于所述待更新缓存键和所述缓存值进行键值对构建,得到所述待更新缓存数据。0022可选的,对所述待更新缓存键进行键值名变更,包括:0023从所述原始缓存数据中提取原始缓存键;0024确定所述原始缓存键对应的键名信息;0025基于所述键名信息对所述待更新缓存键的键名进行覆盖变更。0026可选的,所述对所述待更新缓存键进行键值名变更之后,还包括:0027获取用户端的访问请求。

12、;0028基于所述访问请求进行缓存数据检索,得到待推送数据;0029向所述用户端推送所述待推送数据,所述用户端基于所述待推送数据进行商品数据展示。0030第二方面,本申请提供了一种缓存数据的动态更新装置,所述装置应用于商品数据更新,包括:0031待更新缓存键确定模块,用于在检测到定时更新任务触发的情况下,确定待更新缓存键;0032遍历处理模块,用于针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值;0033待更新缓存数据生成模块,用于基于所述待更新缓存键和所述缓存值生成待更新缓存数据;0034键值名变更模块,用。

13、于对所述待更新缓存键进行键值名变更,以使所述待更新缓存数据对原始缓存数据进行动态替换更新。0035第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;0036存储器,用于存放计算机程序;0037处理器,用于执行存储器上所存放的程序时,实现如第一方面任一项实施例所述的缓存数据的动态更新方法的步骤。0038第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的缓存数据的动态更新方法的步骤。0039综上,本申请实施例应用于商品数据更新,在在检测。

14、到定时更新任务触发的情况下,确定待更新缓存键,针对待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将商品更新数据作为待更新缓存键对应的缓存值,基于待更新缓存键和缓存值生成待更新缓存数据,对待更新缓存键进行键值名变更,以使待更新缓存数据对原始缓存数据进行动态替换更新,从而达到平滑切换缓存、动态更新缓存的目的,解决说明书2/10 页5CN 116610689 A5了现有的缓存数据更新方法所存在的缓存数据更新不及时的问题。附图说明0040此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。0041为了更清楚地说明本。

15、申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0042图1为本申请实施例提供的一种缓存数据的动态更新方法的流程示意图;0043图2是本申请一个可选实施例提供的一种缓存数据的动态更新方法的步骤流程示意图;0044图3是本申请一个可选实施例提供的一种商城商品数据更新流程示意图;0045图4为本申请实施例提供的一种缓存数据的动态更新装置的结构框图;0046图5是本申请实施例提供的一种电子设备的结构示意图。具体实施方式0047为使本申请实施例的目的、技。

16、术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。0048在相关技术中,商品数据接口中的数据通常是动态变化的,以商城App中的福利商品为例,商品数据更新方法主要是在每天凌晨或固定时间段,定时遍历商城福利接口,获取更新缓存数据,并将更新缓存数据缓存到Redis中的sortdset结构中,当用户请求数据时,会传递当前商品标识(id),后端根据商品id,利用更新缓存数据生。

17、成商品列表,返回给商城App进行展示。由于商品会出现下架等情况,而缓存不更新的话,可能展示的商品就无法访问。为了解决缓存更新问题,则需要定时遍历商城福利接口,更新缓存数据。如果此时用户正在访问,而缓存也正在通过Http接口更新,则会出现用户接口超时。0049为解决上述问题,本申请实施例提供了一种缓存数据的动态更新方法、装置、设备及介质,该方法应用于商品数据更新,在在检测到定时更新任务触发的情况下,确定待更新缓存键,针对待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将商品更新数据作为待更新缓存键对应的缓存值,基于待更新缓存键和缓存值生成待更新缓存数据,对待更新缓存键。

18、进行键值名变更,以使待更新缓存数据对原始缓存数据进行动态替换更新,从而达到平滑切换缓存、动态更新缓存的目的,有效避免用户访问的feed时缓存更新导致数据接口超时的影响,提高用户体验,解决了现有的缓存数据更新方法所存在的缓存数据更新不及时的问题。0050为便于对本申请实施例的理解,下面将结合附图以及具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。0051图1为本申请实施例提供的一种缓存数据的动态更新方法的流程示意图。在具体实现中,本申请实施例提供的缓存数据的动态更新方法可以应用于商品数据更新场景,如说明书3/10 页6CN 116610689 A6可以应用于商城类App的福利商。

19、品数据更新,本申请实施例对此不做限制。如图1所示,本申请实施例提供的缓存数据的动态更新方法具体可以包括如下步骤:0052步骤110,在检测到定时更新任务触发的情况下,确定待更新缓存键。0053具体的,待更新缓存键可以是缓存数据中的键(即Key),其中,缓存数据可以分为用于更新的待更新缓存数据和未更新的原始缓存数据,缓存数据可以以键值对的形式存在,待更新缓存键可以是待更新缓存数据中的键,其命名为NewKey,本申请实施例对此不做限制。0054在具体实现中,本实施例可以预设定时更新任务,定时更新任务可以有对应的更新频率,如更新频率可以是实时更新和定时更新,其中,实时更新可以是实时触发定时更新任务进。

20、行缓存数据动态更新,定时更新可以是设置对应的更新时间间隔,通过更新时间间隔,定时触发定时更新任务进行缓存数据动态更新,当然,定时更新还可以是设置固定的更新时间点,如早晨、中午、凌晨等,本申请实施例对此不做限制。0055作为一个示例,以设置更新时间间隔进行定时更新为例,可以根据实际需求预先动态调整定时更新任务的触发时间,精确控制缓存更新时间。具体而言,可以根据设置的更新时间间隔,确定缓存数据的更新时间,然后获取系统时间,判断系统时间是否达到更新时间,若确定达到更新时间,则可以确定定时更新任务触发,随后可以创建一个缓存NewKey,以作为待更新缓存键。0056需要说明的是,本实施例中缓存数据的动态。

21、更新方法不仅可以应用于商城类App的福利商品数据更新,还可以应用于其他需要进行缓存数据更新的App,如可以应用于消息类App、音频类App等,本申请实施例对此不做限制。0057步骤120,针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值。0058具体的,商品数据接口可以用于获取商品更新数据,本实施例可以通过访问商品数据接口获取商品更新数据。缓存值可以作为键值对中的值,与待更新缓存键组成键值对数据,本申请实施例对此不做限制。0059具体而言,本申请实施例可以针对待更新缓存键,对每一个商品数据接口进行遍历访问,从。

22、每一个商品数据接口中获取商品更新数据,然后可以将商品更新数据作为待更新缓存键对应的缓存值,即Value。0060步骤130,基于所述待更新缓存键和所述缓存值生成待更新缓存数据。0061在具体实现中,本申请实施例可以利用待更新缓存键和缓存值生成待更新缓存数据。例如,可以将缓存值作为Value缓存到NewKey中,当NewKey中的数据完全更新后,得到待更新缓存数据。0062步骤140,对所述待更新缓存键进行键值名变更,以使所述待更新缓存数据对原始缓存数据进行动态替换更新。0063在具体实现中,原始缓存数据可以是未更新的缓存数据,该原始缓存数据可以由原始缓存键和原始缓存值组成,本申请实施例对此不做。

23、限制。0064在具体实现中,可以对待更新缓存键进行键值名变更,将待更新缓存键的键名修改为原始缓存键的键名,从而可以将待更新缓存数据平滑过渡到原始缓存数据,即实现利用待更新缓存数据对原始缓存数据进行动态更新,对用户而言,其访问的一直都是原始缓说明书4/10 页7CN 116610689 A7存数据对应的原始缓存键,从而无需感知数据的变更即可实现平滑切换动态更新缓存,不影响用户体验,解决了现有的缓存数据更新方法所存在的缓存数据更新不及时的问题0065作为一个示例,以原始缓存键为OldKey为例,用户端访问数据时,通常都是访问OldKey中的数据,即获取OldKey对应的值。在确定待更新缓存数据后,。

24、可以将待更新缓存数据中的NewKey进行重命名,将NewKey重命名为OldKey,这样用户端始终只需要访问OldKey中的数据,即可获取到更新后的缓存数据,实现平滑切换缓存,动态更新。0066可见,本申请实施例通过在检测到定时更新任务触发的情况下,确定待更新缓存键,针对待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将商品更新数据作为待更新缓存键对应的缓存值,基于待更新缓存键和缓存值生成待更新缓存数据,对待更新缓存键进行键值名变更,以使待更新缓存数据对原始缓存数据进行动态替换更新,从而达到平滑切换缓存、动态更新缓存的目的,解决了现有的缓存数据更新方法所存在的缓存数。

25、据更新不及时的问题。0067参照图2,示出了本申请一个可选实施例提供的一种缓存数据的动态更新方法的步骤流程示意图。在具体实现中,本申请实施例提供的缓存数据的动态更新方法可以应用于商品数据更新场景,如可以应用于商城类App的福利商品数据更新,本申请实施例对此不做限制。该方法具体可以包括如下步骤:0068步骤210,在检测到定时更新任务触发的情况下,确定待更新缓存键。0069在具体实现中,本实施例可以预设定时更新任务,该定时更新任务可以是实时触发,也可以是定时触发,本实施例对此不做限制。以定时触发定时更新任务为例,参照图3,此时定时更新任务可以包含但不限于上一次缓存数据更新时间和更新间隔,可以根据。

26、上一次缓存数据更新时间和更新间隔,确定下一次缓存数据更新时间。随后可以获取系统时间等,判断系统时间是否达到下一次缓存数据更新时间,在确定系统时间达到下一次缓存数据更新时间的情况下,确定定时更新任务触发。0070在一个可选实施例中,本申请实施例确定待更新缓存键之前,具体还可以包括:获取预设的定时任务信息和系统时间,所述定时任务信息包含初始更新时间和更新间隔;基于所述初始更新时间和所述更新间隔进行更新计算,得到缓存数据更新时间;判断所述缓存数据更新时间是否与所述系统时间相匹配;若所述缓存数据更新时间与所述系统时间相匹配,则确定所述定时更新任务触发。其中,初始更新时间可以是上一次缓存数据更新时间,缓。

27、存数据更新时间可以是下一次缓存数据更新时间,本申请实施例对此不做限制。0071具体而言,本申请实施例可以判断系统时间是否与下一次缓存数据更新时间相同,在确定系统时间与下一次缓存数据更新时间相同的情况下,确定缓存数据更新时间与系统时间相匹配。0072在一个可选实施方式中,本申请实施例确定待更新缓存键,具体可以包括:获取预设的命令行;利用所述命令行,在缓存服务内进行键创建,得到所述待更新缓存键。0073具体而言,本申请实施例可以预先构建缓存数据更新系统,开发人员可以在缓存数据更新系统内预设命令行,该命令行可以用于创建待更新缓存键,本申请实施例对此不做限制。0074在具体实现中,本申请实施例可以在确。

28、定定时更新任务触发之前,就利用命令行创建待更新缓存键,也可以在确定定时更新任务触发之后,利用命令行创建待更新缓存键,说明书5/10 页8CN 116610689 A8本申请示例对此不做限制。0075作为一个示例,参照图3,以Redis作为缓存更新数据库,预设的命令行可以是Redis中的Key新增命令,本示例对此不做限制。可以利用Redis中的Key新增命令,在Redis中创建缓存NewKey,以作为待更新缓存键。0076步骤220,获取商品标识,并确定所述商品标识对应预设的商品数据接口。0077具体的,商品标识可以是商品id或商品名称等,本申请实施例对此不作限制。0078在具体实现中,商品标识。

29、可以与商品数据接口相对应,即通过商品标识对应的商品数据接口获取商品数据时,该获取到的商品数据可以都属于该商品标识,本申请实施例对此不作限制。当然,商品数据接口也可以用于获取不同商品标识的商品数据,在获取商品数据时,可以利用商品标识,从商品数据接口中仅获取该商品标识对应的商品数据。0079步骤230,针对所述待更新缓存键,对所述商品数据接口进行商品数据遍历,得到所述商品标识对应的商品更新数据。0080具体的,商品更新数据可以包含一个或多个商品数据,该商品数据可以用于在商品App页面进行展示,本申请实施例对此不作限制。0081具体而言,本申请实施例可以针对待更新缓存键,对每一个商品数据接口进行遍历。

30、。随后可以从商品数据接口中获取所有的数据,随后可以利用商品标识对获取的所有数据进行数据筛选过滤,得到商品标识对应的数据,以作为商品更新数据,或者可以从商品数据接口中,利用商品标识直接进行数据过滤,得到商品标识对应的商品更新数据。0082作为一个示例,参照图3,在商城App包含VIP福利商品的情况下,假设该商品App的Feed流中的商品有一个数据来源是VIP福利商品,该VIP福利商品可以通过商城福利Http接口获取到。在动态更新缓存数据时,可以通过定时任务遍历商城福利Http接口,通过商品标识对接口数据进行过滤,得到商品更新数据。0083步骤240,基于所述待更新缓存键和所述缓存值进行键值对构建。

31、,得到所述待更新缓存数据。0084在具体实现中,本申请实施例可以以键值对的形式,将待更新缓存键和缓存值分别作为键和值进行构建,得到待更新缓存数据。例如,键值对形式可以是待更新缓存键:缓存值,本示例对此不作限制。从而可以在进行缓存更新时,直接修改待更新缓存键的名称即可实现平滑切换缓存,提升用户体验。0085步骤250,对所述待更新缓存键进行键值名变更,以使所述待更新缓存数据对原始缓存数据进行动态替换更新。0086可选的,上述对所述待更新缓存键进行键值名变更,具体可以包括以下子步骤:0087子步骤2501,从所述原始缓存数据中提取原始缓存键。0088具体的,原始缓存数据可以包含原始缓存键和原始缓存。

32、键对应的原始缓存值,本申请实施例对此不作限制。0089在具体实现中,本申请实施例可以从原始缓存数据中提取原始缓存键,从而可以确定原始缓存键的名称,以便后续可以对待更新缓存键进行重命名。0090子步骤2502,确定所述原始缓存键对应的键名信息。0091具体的,键名信息可以是原始缓存键的键名,如原始缓存键的键名可以是OldKey,本示例对此不作限制。说明书6/10 页9CN 116610689 A90092子步骤2503,基于所述键名信息对所述待更新缓存键的键名进行覆盖变更。0093在具体实现中,本申请实施例可以预设键名变更命令,以通过键名变更命令对待更新缓存键的键名进行重命名。具体而言,在确定待。

33、更新缓存数据和原始缓存键的键名后,可以通过执行键名变更命令,将待更新缓存键的键名修改为原始缓存键的键名,实现键名修改,由于修改了待更新缓存键的键名,这样在访问缓存数据时,依旧只需要访问原始缓存键的键名即可实现获取最新的缓存数据,从而达到待更新缓存数据对原始缓存数据进行动态替换更新的目的,有效结合Redis的rename命令的特点,灵活的定时更新缓存,解决由于缓存更新导致的数据接口超时的问题,提高用户体验。0094作为一个示例,参照图3,在NewKey为待更新缓存键的键名,OldKey为原始缓存键的键名的情况下。通过在Redis服务中新建一个NewKey的方式,将遍历获取的商品更新数据作为值缓存。

34、到NewKey中,当NewKey中的数据完全更新后,再通过Redis的rename命令,把NewKey的名称变更为OldKey的名称,即可实现将待更新缓存数据动态替换原始缓存数据,用户端始终都是访问OldKey中的数据,整个访问流程都是透明的,不会出现卡顿或者缺失数据的情况,并能达到平滑切换缓存、动态更新缓存的目的。0095步骤260,获取用户端的访问请求。0096具体的,访问请求可以携带有访问键名,该访问键名可以与原始缓存值对应的键名相同,即访问键名可以是OldKey,以便访问请求可以通过访问键名访问对应的缓存数据。本申请实施例对此不作限制。当然,在具体实现中,访问请求还可以携带有其它信息,。

35、如可以携带有但不限于商品标识、用户标识、鉴权信息等,本申请实施例对此不作限制,以实现数据检索、用户识别、鉴权等功能。0097步骤270,基于所述访问请求进行缓存数据检索,得到待推送数据。0098具体的,待推送数据可以包含进行推送展示的商品数据,本申请实施例对此不作限制。0099在具体实现中,本实施例可以从访问请求中提取访问键名,如访问键名可以是OldKey,随后可以利用访问键名,从Redis缓存服务包含的各个缓存键中,检索键名与访问键名相同的缓存键,以将该缓存键对应的值作为待推送数据。这样用户端始终是通过OldKey键名访问对应的缓存数据,在缓存数据处于更新的情况下,无需等待缓存数据完全更新,。

36、也不会存在卡顿问题。0100步骤280,向所述用户端推送所述待推送数据,所述用户端基于所述待推送数据进行商品数据展示。0101具体的,本申请实施例用户端可以从待推送数据中提取商品数据,然后通过页面渲染的方式将商品数据进行展示,从而无需等待缓存数据更新,提高用户体验。0102综上,本申请实施例通过在检测到定时更新任务触发的情况下,确定待更新缓存键,随后获取商品标识,并确定商品标识对应预设的商品数据接口,针对待更新缓存键,对商品数据接口进行商品数据遍历,得到商品标识对应的商品更新数据,以基于待更新缓存键和缓存值进行键值对构建,得到待更新缓存数据,对待更新缓存键进行键值名变更,以使待更新缓存数据对原。

37、始缓存数据进行动态替换更新,灵活的定时更新缓存,解决由于缓存更新导致的数据接口超时的问题,即解决了现有的缓存数据更新方法所存在的缓存数据更新不及时的问题,这样在用户端访问数据时,通过获取用户端的访问请求,以基于访问请求说明书7/10 页10CN 116610689 A10进行缓存数据检索,得到待推送数据,向用户端推送待推送数据,通过用户端对待推送数据进行商品数据展示,用户始终都是通过同一个键名进行数据访问,不会感知到由于缓存更新导致的卡顿等,有效提高用户体验。0103需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述。

38、的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。0104如图4所示,本申请实施例还提供了一种缓存数据的动态更新装置400,应用于商品数据更新,包括:0105待更新缓存键确定模块410,用于在检测到定时更新任务触发的情况下,确定待更新缓存键;0106遍历处理模块420,用于针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值;0107待更新缓存数据生成模块430,用于基于所述待更新缓存键和所述缓存值生成待更新缓存数据;0108键值名变更模块440,用于对所述待更新缓存键进行键值名变更,。

39、以使所述待更新缓存数据对原始缓存数据进行动态替换更新。0109可选的,所述缓存数据的动态更新装置400,还包括:0110获取模块,用于获取预设的定时任务信息和系统时间,所述定时任务信息包含初始更新时间和更新间隔;0111更新计算模块,用于基于所述初始更新时间和所述更新间隔进行更新计算,得到缓存数据更新时间;0112判断模块,用于判断所述缓存数据更新时间是否与所述系统时间相匹配;0113触发模块,用于在所述缓存数据更新时间与所述系统时间相匹配时,确定所述定时更新任务触发。0114可选的,所述待更新缓存键确定模块410,包括:0115命令行获取子模块,用于获取预设的命令行;0116键创建子模块,用。

40、于利用所述命令行,在缓存服务内进行键创建,得到所述待更新缓存键。0117可选的,所述遍历处理模块420,包括:0118商品标识获取子模块,用于获取商品标识,并确定所述商品标识对应预设的商品数据接口;0119遍历子模块,用于针对所述待更新缓存键,对所述商品数据接口进行商品数据遍历,得到所述商品标识对应的商品更新数据。0120可选的,所述待更新缓存数据生成模块430,具体用于基于所述待更新缓存键和所述缓存值进行键值对构建,得到所述待更新缓存数据。0121可选的,所述键值名变更模块440,包括:0122原始缓存键提取子模块,用于从所述原始缓存数据中提取原始缓存键;0123键名信息确定子模块,用于确定。

41、所述原始缓存键对应的键名信息;说明书8/10 页11CN 116610689 A110124覆盖变更子模块,用于基于所述键名信息对所述待更新缓存键的键名进行覆盖变更。0125可选的,所述缓存数据的动态更新装置400,还包括:0126访问请求获取模块,用于获取用户端的访问请求;0127检索模块,用于基于所述访问请求进行缓存数据检索,得到待推送数据;0128推送模块,用于向所述用户端推送所述待推送数据,所述用户端基于所述待推送数据进行商品数据展示。0129需要说明的是,本申请实施例提供的缓存数据的动态更新装置可执行本申请任意实施例所提供的缓存数据的动态更新方法,具备执行缓存数据的动态更新方法相应的。

42、功能和有益效果。0130在具体实现中,上述缓存数据的动态更新装置可以集成在设备中,使得该设备可以在检测到定时更新任务触发的情况下,确定待更新缓存键和待更新缓存键对应的缓存值,进而确定待更新缓存数据,对待更新缓存键进行键值名变更,以使待更新缓存数据对原始缓存数据进行动态替换更新,作为电子设备,实现平滑切换缓存、动态更新缓存。该电子设备可以是由两个或多个物理实体构成,也可以是一个物理实体构成,如电子设备可以是个人计算机(Personal Computer,PC)、电脑、服务器等,本申请实施例对此不作具体限制。0131如图5所示,本申请实施例提供提供了一种电子设备,包括处理器111、通信接口112、。

43、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信;存储器113,用于存放计算机程序;处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的缓存数据的动态更新方法的步骤。示例性的,缓存数据的动态更新方法的步骤可以包括如下步骤:在检测到定时更新任务触发的情况下,确定待更新缓存键;针对所述待更新缓存键,对预设的商品数据接口进行遍历处理,得到至少一个商品更新数据,并将所述商品更新数据作为所述待更新缓存键对应的缓存值;基于所述待更新缓存键和所述缓存值生成待更新缓存数据;对所述待更新缓存键进行键值名变更,以使所述。

44、待更新缓存数据对原始缓存数据进行动态替换更新。0132本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的缓存数据的动态更新方法的步骤。0133需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、。

45、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。0134以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一说明书9/10 页12CN 116610689 A12致的最宽的范围。说明书10/10 页13CN 116610689 A13图1说明书附图1/4 页14CN 116610689 A14图2说明书附图2/4 页15CN 116610689 A15图3说明书附图3/4 页16CN 116610689 A16图4图5说明书附图4/4 页17CN 116610689 A17。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1