本技术涉及缓存,尤其涉及一种多项目数据缓存方法、装置、设备及存储介质。
背景技术:
1、在现代互联网应用中,随着数据量的激增和用户需求的多样化,存在大量需要展示的实时数据和历史数据。在不做任何缓存的情况下,用户点击查询和刷新事件,需要大量的等待时间,体验效果不佳。传统的数据处理方式是在每个项目内部实现数据缓存,但在涉及多个项目或服务的情况下,每个项目可能存在不同的数据访问模式和需求,每个项目的缓存需要独立维护,容易导致数据请求分散、缓存冗余的问题,从而增加了数据源服务器的负载和响应延迟。
2、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
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、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的多项目数据缓存方法的步骤。
42、本技术通过构建缓存中心服务,其中,缓存中心服务用于存储缓存数据和管理缓存数据,以便高效地处理来自各个项目的数据请求和更新;生成缓存中心服务对应的软件开发包,其中,客户端在各应用程序中引入软件开发包,并根据软件开发包确定缓存接口,通过缓存接口将与各应用程序对应的缓存服务数据上传至服务器,从而方便地使用缓存服务;接收客户端上传的缓存服务数据,其中,缓存服务数据包括请求地址、请求参数、缓存时间和刷新时间,以理解每个项目的需求和限制;从预设数据源中获取与缓存服务数据匹配的目标数据,并基于缓存中心服务将目标数据缓存在缓存中心,对于每个项目,缓存中心服务都会识别出那些最常被访问的数据,并将其存储在快速访问的缓存中,以减少后续请求的延迟和服务器负载。在本技术中,通过建立缓存中心服务同时处理多个项目的数据请求和更新,并在缓存中心服务中缓存各个项目的数据,能够优化多项目的数据访问速度,降低网络带宽消耗,同时减轻数据源服务器的压力,使多项目能够同时应用缓存技术实现缓存的集中管理。
1.一种多项目数据缓存方法,其特征在于,应用于服务器,所述多项目数据缓存方法包括:
2.如权利要求1所述的多项目数据缓存方法,其特征在于,所述从预设数据源中获取与所述缓存服务数据匹配的目标数据的步骤,包括:
3.如权利要求2所述的多项目数据缓存方法,其特征在于,所述从所述缓存服务数据中确定请求地址和请求参数的步骤之后,还包括:
4.如权利要求3所述的多项目数据缓存方法,其特征在于,所述从所述缓存中心中获取与所述缓存键匹配的数据条目的步骤之后,还包括:
5.如权利要求3所述的多项目数据缓存方法,其特征在于,所述基于所述缓存中心服务将所述目标数据缓存在缓存中心的步骤,包括:
6.如权利要求4所述的多项目数据缓存方法,其特征在于,所述基于所述缓存中心服务将所述目标数据缓存在缓存中心的步骤之后,还包括:
7.如权利要求1所述的多项目数据缓存方法,其特征在于,所述接收所述客户端上传的缓存服务数据的步骤之后,还包括:
8.一种多项目数据缓存装置,其特征在于,所述多项目数据缓存装置包括:
9.一种多项目数据缓存设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至7中任一项所述的多项目数据缓存方法的步骤。
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的多项目数据缓存方法的步骤。