一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据的缓存方法、装置、服务器及存储介质与流程

2022-11-19 10:03:45 来源:中国专利 TAG:


1.本公开涉及数据缓存技术领域,尤其涉及一种数据的缓存方法、装置、服务器及存储介质。


背景技术:

2.跑马灯动画是指通过编程实现的、消息滚动播放的一种动画效果。而用于跑马灯动画显示的数据为跑马灯数据。
3.现有技术中,跑马灯数据一般通过数据库存储,当具体显示某条跑马灯数据的详细信息时,需要从数据库中检索出原始数据,然后根据前端页面的设置将原始数据进行处理后,通过前端页面进行展示。
4.但是,相关技术中,通过查询数据库获取跑马灯数据的响应时间较长,且在高并发的场景下频繁的查询数据库会导致数据库的压力过大,从而降低数据库的可用性,进而降低整个系统的性能。


技术实现要素:

5.本公开提供一种数据的缓存方法、装置、服务器及存储介质,以至少解决相关技术中数据的缓存方法中请求数据响应时间长,数据库压力量大的问题。
6.本公开的技术方案如下:
7.根据本公开实施例的第一方面,提供一种数据的缓存方法,包括:
8.基于所述第一定时任务向第一数据库发送第一数据请求消息,所述第一定时任务包括:定时向所述第一数据库请求特定数量的原始数据;
9.获取所述第一数据库发送的原始数据,并对所述原始数据进行加工处理得到缓存数据;
10.向第二数据库发送所述缓存数据以进行缓存;
11.基于第二定时任务向所述第二数据库发送第二数据请求消息;其中,第二定时任务包括:定时向所述第二数据库请求特定类型的特定数量的缓存数据;
12.获取所述第二数据库发送的缓存数据,并将所述缓存数据更新至本地缓存中。
13.可选的,所述方法,还包括:
14.接收数据显示请求;
15.从所述本地缓存中获取所述数据显示请求所请求的数据,并将所述数据在前端进行显示。
16.可选的,所述对所述原始数据进行加工处理得到缓存数据,包括:对所述原始数据中的每条数据进行分类。
17.可选的,所述第二数据库用于:对不同类缓存数据进行分队列存储,其中,不同类的缓存数据对应不同队列。
18.可选的,不同队列对应一最大缓存阈值;所述第二数据库还用于:
19.若所述队列的当前存储量超过所述队列对应的最大缓存阈值,移除最早存入所述队列的数据,以使得所述队列的移除后的存储量小于或等于所述队列对应的最大缓存阈值。
20.可选的,所述特定数量基于数据在前端显示时的滚动速率确定。
21.根据本公开实施例的第二方面,提供一种数据的缓存装置,包括:
22.第一发送单元,被配置为基于第一定时任务向第一数据库发送第一数据请求消息,所述第一定时任务包括:定时向所述第一数据库请求特定数量的原始数据;
23.第一获取单元,被配置为获取所述第一数据库发送的原始数据,并对所述原始数据进行加工处理得到缓存数据;
24.第二发送单元,被配置为向第二数据库发送所述缓存数据以进行缓存;
25.第三发送单元,被配置为基于第二定时任务向所述第二数据库发送第二数据请求消息;其中,第二定时任务包括:定时向所述第二数据库请求特定类型的特定数量的缓存数据;
26.第二获取单元,被配置为获取所述第二数据库发送的缓存数据,并将所述缓存数据更新至本地缓存中。
27.可选的,所述装置还包括:
28.接收单元,被配置为接收数据显示请求;
29.显示单元,被配置为从所述本地缓存中获取所述数据显示请求所请求的数据,并基于所述数据在前端进行显示。
30.可选的,所述第一获取单元,被配置为对所述原始数据中的每条数据进行分类。
31.根据本公开的第三方面,提供了一种服务器,包括:
32.处理器;
33.用于存储所述处理器可执行指令的存储器;
34.其中,所述处理器被配置为执行所述指令,以实现第一方面所述的数据的缓存方法。
35.根据本公开的第四方面,提供了一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面所述的数据的缓存方法。
36.本公开的实施例提供的技术方案至少带来以下有益效果:
37.在一些或者相关的实施例中,会基于第一定时任务向第一数据库发送第一数据请求消息,获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓存数据,之后,向第二数据库发送缓存数据以进行缓存,基于第二定时任务向第二数据库发送第二数据请求消息,获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。由此可知,本公开实施例之中,将缓存数据更新至本地缓存中,之后,当接收到数据显示请求,可以直接从本地缓存中获取数据显示请求所请求的数据,并在前端进行显示,而不用通过查询数据库获取请求数据,从而降低了请求数据的响应时间,并在高并发的情景下,也可以从本地缓存中获取所请求的数据,不用同时对数据库进行访问,从而减少了对数据库的直接访问,缓解了数据库的压力。
38.此外,本公开实施例之中,第一数据库中存储有原始数据,以及在将数据缓存至本地缓存之前,会将第一数据库中的原始数据分类缓存至第二数据库中,且会对第二缓存数
据库中数据进行定期更新,则实现了数据的分类管理和实时更新,以便后续本地缓存可以通过第二数据库获取不同类型的实时最新的缓存数据,则后续基于本地缓存中的数据在前端进行显示时,确保所显示的各类数据的能够紧跟当前热点事件的时新性。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
40.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
41.图1是根据一示例性实施例示出的一种数据的缓存方法的流程图;
42.图2是根据一示例性实施例示出的一种数据的缓存方法的流程图;
43.图3是根据一示例性实施例示出的一种数据的缓存装置框图;
44.图4是根据一示例性实施例示出的一种数据的缓存装置框图;
45.图5是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
46.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
47.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
48.图1是根据一示例性实施例示出的一种数据的缓存方法的流程图,如图1所示,该数据的缓存方法可以包括以下步骤:
49.在步骤s11中,基于第一定时任务向第一数据库发送第一数据请求消息。
50.一些实施例中,上述第一定时任务可以包括:定时向第一数据库请求特定数量的原始数据,其中,第一定时任务还可以包括请求原始数据的种类(例如,新闻)。
51.一些实施例中,上述请求特定数量的原始数据可以是前端页面需要滚动展示的跑马灯数据;上述特定数量可以基于跑马灯数据在前端显示时的滚动速率确定。
52.示例的,假设前端显示跑马灯数据的滚动速率为3条/s(即每秒展示3条数据),单位时间为1分钟,则基于跑马灯数据在前端显示时的滚动速率确定的特定数量=速率
×
单位时间=3条/s
×
60s=180条数据。
53.一些实施例中,上述第一定时任务可以是用户根据前端页面展示跑马灯数据的需求提前设置的,且第一定时任务的定时间隔可以根据用户的需求设置,例如间隔3min(分钟)。以及,当到达第一定时任务的执行时间时,可以自动执行第一定时任务。
54.一些实施例中,上述第一数据库可以为mysql数据库,且mysql数据库中存储所有原始数据。
55.进一步地,一些实施例中,向mysql数据库发送的第一数据请求消息中可以包括请求的跑马灯原始数据的种类和特定数量。以及,一些实施例中,mysql数据库接收到第一数据请求消息之后,可以根据第一数据请求消息中的跑马灯原始数据的种类和特定数量,返回从mysql数据库中检索出对应数量的跑马灯原始数据。
56.在步骤s12中,获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓存数据。
57.一些实施例之中,前端页面需要根据跑马灯原始数据的所属类型(例如,文娱、要闻)对不同跑马灯原始数据进行前端页面的展示与更新,基于此,不能直接将获取第一数据库发送的跑马灯原始数据进行缓存,需要对跑马灯原始数据进行加工处理得到对应的缓存数据。
58.一些实施例之中,上述对原始数据进行加工处理得到缓存数据的方法可以包括:对原始数据中的每条数据进行分类。具体的,可以根据原始数据中的每条数据的内容进行分类,并添加对应的类型标识以得到缓存数据。以及,通过对原始数据中的每条数据进行分类,并添加类型标识得到缓存数据之后,可以直接根据缓存数据对应的类型返回前端页面进行展示。
59.在步骤s13中,向第二数据库发送缓存数据以进行缓存。
60.一些实施例中,上述第二数据库可以为redis数据库。
61.一些实施例中,上述第二数据库用于:对不同类缓存数据进行分队列存储,其中,不同类的缓存数据对应不同队列。以及,不同队列对应一最大缓存阈值(即队列可以最多存储的数据量)。
62.一些实施例中,第二数据库还用于:若队列的当前存储量超过队列对应的最大缓存阈值,移除最早存入队列的数据,以使得队列的移除后的存储量小于或等于队列对应的最大缓存阈值。
63.举例而言,假设文娱类型跑马灯数据的最大缓存阈值为30条,接收到缓存数据为2条文娱类型的跑马灯数据,且文娱类型队列当前存储量为30条,此时文娱类型队列的当前存储量超过队列对应的最大缓存阈值,则移除最早存入文娱类型队列中2条数据,然后将接收到的2条文娱类型的跑马灯数据存入第二数据库中的文娱类型队列中。
64.一些实施例中,上述第二数据库中可以通过跑马灯缓存数据的类型标识存储不同类型的跑马灯缓存数据,并通过限制不同类型队列的长度来控制第二数据库中每种类型对应的跑马灯缓存数据量,从而使得通过第二数据库可以获取不同类型的实时更新的跑马灯缓存数据。
65.在步骤s14中,基于第二定时任务向第二数据库发送第二数据请求消息。
66.其中,一些实施例中,上述第二定时任务可以为:定时向第二数据库请求特定类型的特定数量的缓存数据。其中,上述向第二数据库请求特定类型的特定数量的缓存数据可以是前端页面需要展示数据的类型和类型对应的数据数量。
67.举例而言,第二定时任务中包括:文娱类型,20条;视频类型,10条。
68.进一步地,一些实施例中,上述向第二数据库发送的第二数据请求消息中可以包括请求缓存数据的特定类型和对应的特定数量。以及,一些实施例中,第二数据库接收到第二数据请求消息之后,可以根据第二数据请求消息中请求缓存数据的特定类型和特定类型
对应的数据数量,返回从特定类型对应的类型队列中取出最新存入的特定数量的跑马灯缓存数据。
69.需要说明的是,一些实施例中,上述第二定时任务可以是用户根据前端页面展示跑马灯数据的需求提前设置于服务器中,基于此,用户可以根据需求灵活配置从第二数据库中获取的缓存数据的特定类型和特定类型对应的特定数量。且第二定时任务的定时间隔可以根据用户的需求设置,例如间隔5min(分钟)。
70.在步骤s15中,获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。
71.一些实施例中,将缓存数据更新至本地缓存中的方法可以包括:将原有本地缓存中的跑马灯缓存数据删除,并将缓存数据更新至本地缓存中。
72.一些实施例中,将缓存数据更新至本地缓存中,之后,当接收到数据显示请求,可以直接从本地缓存中获取数据显示请求所请求的数据,并基于数据在前端进行显示,从而降低了请求数据的响应时间,并在高并发的情景下,也可以从本地缓存中获取所请求的数据,不用对数据库进行访问,从而减少了对数据库的直接访问,缓解了数据库的压力。
73.综上所述,在一些或者相关的实施例中,会基于第一定时任务向第一数据库发送第一数据请求消息,获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓存数据,之后,向第二数据库发送缓存数据以进行缓存,基于第二定时任务向第二数据库发送第二数据请求消息,获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。由此可知,本公开实施例之中,将缓存数据更新至本地缓存中,之后,当接收到数据显示请求,可以直接从本地缓存中获取数据显示请求所请求的数据,并在前端进行显示,而不用通过查询数据库获取请求数据,从而降低了请求数据的响应时间,并在高并发的情景下,也可以从本地缓存中获取所请求的数据,不用同时对数据库进行访问,从而减少了对数据库的直接访问,缓解了数据库的压力。
74.此外,本公开实施例之中,第一数据库中存储有原始数据,以及在将数据缓存至本地缓存之前,会将第一数据库中的原始数据分类缓存至第二数据库中,且会对第二缓存数据库中数据进行定期更新,则实现了数据的分类管理和实时更新,以便后续本地缓存可以通过第二数据库获取不同类型的实时最新的缓存数据,则后续基于本地缓存中的数据在前端进行显示时,确保所显示的各类数据的能够紧跟当前热点事件的时新性。
75.图2是根据一示例性实施例示出的一种数据的缓存方法的流程图,如图2所示,该数据的缓存方法可以包括以下步骤:
76.在步骤s21中,基于第一定时任务向第一数据库发送第一数据请求消息。
77.在步骤s22中,获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓存数据。
78.在步骤s23中,向第二数据库发送缓存数据以进行缓存。
79.在步骤s24中,基于第二定时任务向第二数据库发送第二数据请求消息。
80.在步骤s25中,获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。
81.其中,关于步骤s21-步骤s25的详细介绍可以参考上述实施例中的相关介绍,本公开实施例在此不做赘述。
82.在步骤s26中,接收数据显示请求。
83.一些实施例中,前面页面可以显示跑马灯数据的标题,当用户想获取跑马灯数据的详细内容时,可以点击该跑马灯数据,以发送该跑马灯数据的显示请求。
84.在步骤s27中,从本地缓存中获取数据显示请求所请求的数据,并基于数据在前端进行显示。
85.综上所述,在一些或者相关的实施例中,会基于第一定时任务向第一数据库发送第一数据请求消息,获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓存数据,之后,向第二数据库发送缓存数据以进行缓存,基于第二定时任务向第二数据库发送第二数据请求消息,获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。由此可知,本公开实施例之中,将缓存数据更新至本地缓存中,之后,当接收到数据显示请求,可以直接从本地缓存中获取数据显示请求所请求的数据,并在前端进行显示,而不用通过查询数据库获取请求数据,从而降低了请求数据的响应时间,并在高并发的情景下,也可以从本地缓存中获取所请求的数据,不用同时对数据库进行访问,从而减少了对数据库的直接访问,缓解了数据库的压力。
86.此外,本公开实施例之中,第一数据库中存储有原始数据,以及在将数据缓存至本地缓存之前,会将第一数据库中的原始数据分类缓存至第二数据库中,且会对第二缓存数据库中数据进行定期更新,则实现了数据的分类管理和实时更新,以便后续本地缓存可以通过第二数据库获取不同类型的实时最新的缓存数据,则后续基于本地缓存中的数据在前端进行显示时,确保所显示的各类数据的能够紧跟当前热点事件的时新性。
87.图3是根据一示例性实施例示出的一种数据的缓存装置框图。参照图3,该数据的缓存装置包括:
88.第一发送单元301,被配置为基于第一定时任务向第一数据库发送第一数据请求消息,所述第一定时任务包括:定时向所述第一数据库请求特定数量的原始数据;
89.第一获取单元302,被配置为获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓存数据;
90.第二发送单元303,被配置为向第二数据库发送缓存数据以进行缓存;
91.第三发送单元304,被配置为基于第二定时任务向所述第二数据库发送第二数据请求消息;其中,第二定时任务包括:定时向所述第二数据库请求特定类型的特定数量的缓存数据;
92.第二获取单元305,被配置为获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。
93.可选的,图4是根据一示例性实施例示出的一种数据的缓存装置框图。参照图4,该数据的缓存装置还包括:
94.接收单元306,被配置为接收数据显示请求;
95.显示单元307,被配置为从所述本地缓存中获取所述数据显示请求所请求的数据,并基于所述数据在前端进行显示。
96.可选的,第一获取单元302,被配置为对原始数据中的每条数据进行分类。
97.综上所述,在一些或者相关的实施例中,会基于第一定时任务向第一数据库发送第一数据请求消息,获取第一数据库发送的原始数据,并对原始数据进行加工处理得到缓
存数据,之后,向第二数据库发送缓存数据以进行缓存,基于第二定时任务向第二数据库发送第二数据请求消息,获取第二数据库发送的缓存数据,并将缓存数据更新至本地缓存中。由此可知,本公开实施例之中,将缓存数据更新至本地缓存中,之后,当接收到数据显示请求,可以直接从本地缓存中获取数据显示请求所请求的数据,并在前端进行显示,而不用通过查询数据库获取请求数据,从而降低了请求数据的响应时间,并在高并发的情景下,也可以从本地缓存中获取所请求的数据,不用同时对数据库进行访问,从而减少了对数据库的直接访问,缓解了数据库的压力。
98.此外,本公开实施例之中,第一数据库中存储有原始数据,以及在将数据缓存至本地缓存之前,会将第一数据库中的原始数据分类缓存至第二数据库中,且会对第二缓存数据库中数据进行定期更新,则实现了数据的分类管理和实时更新,以便后续本地缓存可以通过第二数据库获取不同类型的实时最新的缓存数据,则后续基于本地缓存中的数据在前端进行显示时,确保所显示的各类数据的能够紧跟当前热点事件的时新性。
99.图5是根据一示例性实施例示出的一种服务器的框图。如图5所示,该服务器包括:存储器501和处理器502。另外,该服务器还包括电源组件503、通信组件504等必要组件。
100.存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。
101.存储器501,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
102.通信组件504,用于与其他设备进行数据传输。
103.处理器502,可执行存储器501中存储的计算机指令,以用于执行上述方法。
104.相应地,本公开实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图1方法实施例中的各步骤。
105.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
106.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
107.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
108.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
109.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
110.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
111.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
112.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
113.以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
114.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
115.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献