一种数据缓存处理方法、系统、计算设备及可读存储介质技术方案

技术编号:29044205 阅读:28 留言:0更新日期:2021-06-26 05:55
本发明专利技术公开了一种数据缓存处理方法,适于在应用服务器集群中的目标应用服务器中执行,应用服务器集群包括多个应用服务器,应用服务器包括本地缓存,应用服务器与缓存服务器和数据库服务器通信连接,方法包括:根据应用客户端的数据请求,从目标应用服务器的本地缓存中获取相应的第一目标数据;当从本地缓存获取第一目标数据失败时,从缓存服务器获取第一目标数据,并根据获取到的第一目标数据更新本地缓存;当从缓存服务器获取第一目标数据失败时,从数据库服务器获取第一目标数据,并根据获取到的第一目标数据更新本地缓存和缓存服务器;将获取的第一目标数据返回应用客户端,本发明专利技术一并公开了相应的系统、计算设备及可读存储介质。质。质。

【技术实现步骤摘要】
一种数据缓存处理方法、系统、计算设备及可读存储介质


[0001]本专利技术涉及数据缓存领域,尤其涉及一种数据缓存处理方法、系统、计算设备及可读存储介质。

技术介绍

[0002]缓存技术是高并发系统中最常用的技术之一,将频繁访问的数据缓存起来,避免数据重复创建、处理和传输,同时,降低对数据库的访问次数,从而降低数据库的负担,提高数据库的服务能力,并提升系统稳定性。
[0003]在目前的应用服务框架中,比较常见的,是本地缓存和分布式缓存。其中,本地缓存是在应用中的缓存组件,应用和缓存是在同一个进程内部,请求缓存非常迅速,没有过多的网络开销,通常由应用服务器的本地内存实现,但是,这种缓存方式中,应用服务器集群中的各节点都单独维护自己的数据缓存,多个应用程序之间无法共享缓存,同时,由于应用服务器的内存资源有限,不适合存储大量数据,又因为与应用程序高度耦合,当应用发生故障宕机时,缓存数据也会丢失。
[0004]另一种常见的缓存机制是分布式缓存,是一种与应用分离的缓存组件,多个应用服务器可以使用同一个分布式缓存系统,互相可以共享缓存数据,但是,当应用服务器与缓存服务器之间数据获取频繁时,将产生大量的网络开销,同时,由于对网络的依赖较重,网络访问一旦出现延时,就会造成响应慢,如果数据访问频率过高,网络耗时累加,影响整个应用响应速度和性能。
[0005]互联网应用发展到今天,包含有大量的数据,具有不同的访问需求,而对于数据的缓存,既要满足频繁访问数据的响应速度,又要避免非频繁访问数据对缓存资源的占用。
>
技术实现思路

[0006]为此,本专利技术提供了一种数据缓存处理方法、系统、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
[0007]根据本专利技术的一个方面,提供一种数据缓存处理方法,适于在应用服务器集群中的目标应用服务器中执行,应用服务器集群包括多个应用服务器,应用服务器包括本地缓存,应用服务器与缓存服务器和数据库服务器通信连接,方法包括:根据应用客户端的数据请求,从目标应用服务器的本地缓存中获取相应的第一目标数据;当从本地缓存获取第一目标数据失败时,从缓存服务器获取第一目标数据,并根据获取到的第一目标数据更新本地缓存;当从缓存服务器获取第一目标数据失败时,从数据库服务器获取第一目标数据,并根据获取到的第一目标数据更新本地缓存和缓存服务器;将获取的第一目标数据返回应用客户端。
[0008]可选的,在根据本专利技术的数据缓存处理方法中,应用服务器和缓存服务器还与消息队列服务器通信连接,方法还包括:更新第二目标数据,并将相应的数据更新消息发送至缓存服务器,以便缓存服务器更新相应的第二目标数据的缓存,并将数据更新消息插入消
息队列服务器,以便根据消息订阅方式更新应用服务器集群中的其他应用服务器中的本地缓存。
[0009]可选的,在根据本专利技术的数据缓存处理方法中,根据应用客户端的数据请求,从目标应用服务器的本地缓存中获取相应的第一目标数据包括:当数据请求处理方法添加了缓存注解时,从本地缓存中获取第一目标数据;当数据请求处理方法没有添加缓存注解时,则不从本地缓存中获取目标数据。
[0010]可选的,在根据本专利技术的数据缓存处理方法中,根据获取到的第一目标数据更新本地缓存包括:当数据请求处理方法添加了缓存注解时,将从缓存服务器获取的第一目标数据存储到本地缓存中。
[0011]可选的,在根据本专利技术的数据缓存处理方法中,根据获取到的第一目标数据更新本地缓存和缓存服务器包括:将第一目标数据存储到缓存服务器中,设置第一目标数据的缓存有效期;获取第一目标数据的键值对应的强制更新配置,若强制更新配置为真,设置第一目标数据的强制更新时间。
[0012]可选的,在根据本专利技术的数据缓存处理方法中,从缓存服务器获取第一目标数据包括:当从缓存服务器获取第一目标数据成功时,获取第一目标数据的强制更新时间,当强制更新时间到达时,从数据库服务器获取第一目标数据,更新缓存服务器中的第一目标数据。
[0013]可选的,在根据本专利技术的数据缓存处理方法中,本地缓存未caffeine缓存,缓存服务器为redis缓存。
[0014]根据本专利技术的又一个方面,提供一种数据缓存处理系统,包括应用服务器集群、缓存服务器和数据库服务器,应用服务器集群包括多个应用服务器,应用服务器包括本地缓存,应用服务器与缓存服务器和数据库服务器通信连接,其中,应用服务器集群中的目标应用服务器适于执行如权利要求1

7中任意一项的方法;缓存服务器,适于缓存应用数据;数据库服务器,适于存储应用数据。
[0015]根据本专利技术的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上的数据缓存处理方法的指令。
[0016]根据本专利技术的又一方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的数据缓存处理方法。
[0017]根据本专利技术的数据缓存处理方法,结合应用服务器的本地缓存和缓存服务器,实现了二级缓存管理,在应用客户端请求数据时,首先从本地缓存获取目标数据,如果获取目标数据失败,则从缓存服务器中获取数据,并根据获取到的目标数据更新本地缓存数据,以便其他用户从该应用服务器请求该目标数据时,能够直接从本地缓存获取,减小网络开销。当从缓存服务器获取目标数据失败时,从数据库服务器获取目标数据,并根据获取到的目标数据更新本地缓存和缓存服务器,这样,在当前应用服务器上接收到对该目标数据的请求时,能够直接从本地缓存中获取目标数据并返回给用户,在应用服务器集群中的其他应用服务器接收到用户对该目标数据的请求时,可以共享缓存服务器上的数据,通过缓存服务器获取该数据,减少了对数据库的访问。
[0018]进一步,根据本专利技术的数据缓存处理方法,应用服务器集群中的任一服务器对数
据进行更新时,需要将该数据更新消息发送至缓存服务器以完成数据更新,同时缓存服务器在完成数据更新后将数据更新消息插入消息队列中,根据消息订阅方式通知其他应用服务器进行数据更新,以保证其他服务器能够及时更新数据。
附图说明
[0019]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0020]图1示出了根据本专利技术一个实施例的数据处理系统100的示意图;
[0021]图2示出了根据本专利技术一个实施例的计算设备200的框图;
[0022]图3示出了根据本专利技术一个实施例的数据获取过程300的流程图;
[0023]图4示出了根据本专利技术一个实施来的数据删除过程400的流程图。
具体实施本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据缓存处理方法,适于在应用服务器集群中的目标应用服务器中执行,所述应用服务器集群包括多个应用服务器,所述应用服务器包括本地缓存,所述应用服务器与缓存服务器和数据库服务器通信连接,所述方法包括:根据应用客户端的数据请求,从目标应用服务器的本地缓存中获取相应的第一目标数据;当从所述本地缓存获取第一目标数据失败时,从所述缓存服务器获取所述第一目标数据,并根据获取到的第一目标数据更新所述本地缓存;当从所述缓存服务器获取第一目标数据失败时,从所述数据库服务器获取所述第一目标数据,并根据获取到的第一目标数据更新所述本地缓存和缓存服务器;将获取的所述第一目标数据返回所述应用客户端。2.如权利要求1所述的方法,其中,所述应用服务器和缓存服务器还与消息队列服务器通信连接,所述方法还包括:更新第二目标数据,并将相应的数据更新消息发送至所述缓存服务器,以便所述缓存服务器更新相应的第二目标数据的缓存,并将数据更新消息插入所述消息队列服务器,以便根据消息订阅方式更新所述应用服务器集群中的其他应用服务器中的本地缓存。3.如权利要求1所述的方法,其中,所述根据应用客户端的数据请求,从目标应用服务器的本地缓存中获取相应的第一目标数据包括:当数据请求处理方法添加了缓存注解时,从所述本地缓存中获取所述第一目标数据;当所述数据请求处理方法没有添加缓存注解时,则不从本地缓存中获取所述目标数据。4.如权利要求1

3中任意一项所述的方法,其中,所述根据获取到的第一目标数据更新所述本地缓存包括:当所述数据请求处理方法添加了缓存注解时,将从所述缓存服务器获取的第一目标数据存储到所述本地缓存中。5.如权利要求1

【专利技术属性】
技术研发人员:汪碧胜于文录
申请(专利权)人:北京齐尔布莱特科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1