数据查询方法、装置、设备以及存储介质制造方法及图纸

技术编号:37416298 阅读:15 留言:0更新日期:2023-04-30 09:40
本说明书公开了一种数据查询方法、装置、设备以及存储介质,通过本说明书实施例提供的技术方案,在获取到数据获取请求的情况下,现在本地缓存中基于数据获取请求携带的数据标识进行查询,确定本地缓存中是否存在目标数据。在该本地缓存中未命中该目标数据的情况下,基于该数据标识在分布式缓存中进行查询,确定该分布式缓存中是否存在该目标数据。在该分布式缓存中存在该目标数据的情况下,将该目标数据发送给客户端。由于该本地缓存和该分布式缓存是通过缓存注解的方式配置的,也就实现缓存逻辑和业务逻辑解耦的前提下,充分利用了本地缓存和分布式缓存各自的特性,提高了数据查询的效率。查询的效率。查询的效率。

【技术实现步骤摘要】
数据查询方法、装置、设备以及存储介质


[0001]本说明书实施例涉及计算机
,特别涉及一种数据查询方法、装置、设备以及存储介质。

技术介绍

[0002]数据库是按照数据结构来组织、存储和管理数据的仓库,数据库可以接收查询请求返回与所述查询请求对应的数据。当查询请求过多或者过于频繁时,数据库的响应时间会变长,甚至会崩溃。
[0003]相关技术中,为了提高了数据的访问速度和程序性能,通常采用缓存机制将数据库中的数据预先加载到内存中,然后在访问该数据时都在内存中完成,从而减少了对数据库的访问。
[0004]但是,使用缓存访问数据时存在一些缺点,如在高并发场景下会出现缓存失效,造成瞬间数据库访问量增大甚至崩溃,大大降低了数据查询的效率。

技术实现思路

[0005]本说明书实施例提供了一种数据查询方法、装置、设备以及存储介质,可以在提升数据查询稳定性的前提下,提高数据查询的效率,技术方案如下:
[0006]一方面,提供了一种数据查询方法,所述方法包括:
[0007]获取客户端发送的数据获取请求,所述数据获取请求用于请求获取目标数据,所述数据获取请求携带所述目标数据的数据标识;
[0008]响应于所述数据获取请求,基于所述目标数据的数据标识在本地缓存中进行查询,确定所述本地缓存是否存在所述目标数据;
[0009]在所述本地缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在分布式缓存中进行查询,确定所述分布式缓存是否存在所述目标数据,所述本地缓存和所述分布式缓存是通过缓存注解的方式配置的;
[0010]在所述分布式缓存中命中所述目标数据的情况下,将所述分布式缓存中的所述目标数据发送给所述客户端。
[0011]一方面,提供了一种数据查询装置,所述装置包括:
[0012]请求获取模块,用于获取客户端发送的数据获取请求,所述数据获取请求用于请求获取目标数据,所述数据获取请求携带所述目标数据的数据标识;
[0013]查询模块,用于响应于所述数据获取请求,基于所述目标数据的数据标识在本地缓存中进行查询,确定所述本地缓存是否存在所述目标数据;
[0014]所述查询模块,用于在所述本地缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在分布式缓存中进行查询,确定所述分布式缓存是否存在所述目标数据,所述本地缓存和所述分布式缓存是通过缓存注解的方式配置的;
[0015]发送模块,用于在所述分布式缓存中命中所述目标数据的情况下,将所述分布式
缓存中的所述目标数据发送给所述客户端。
[0016]在一种可能的实施方式中,所述发送模块,还用于在所述本地缓存中命中所述目标数据的情况下,将所述本地缓存中的所述目标数据发送给所述客户端。
[0017]在一种可能的实施方式中,所述发送模块,还用于将所述分布式缓存中的所述目标数据发送至所述本地缓存。
[0018]在一种可能的实施方式中,所述查询模块,还用于在所述分布式缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在数据库中进行查询,得到所述目标数据;
[0019]所述发送模块,还用于将所述目标数据发送给所述客户端。
[0020]在一种可能的实施方式中,所述发送模块,还用于执行下述至少一项:
[0021]将所述目标数据发送至所述本地缓存;
[0022]将所述目标数据发送至所述分布式缓存。
[0023]在一种可能的实施方式中,所述装置还包括:
[0024]数据获取模块,用于从数据库中获取第一缓存数据和第二缓存数据,所述第一缓存数据和所述第二缓存数据的数据内容不同;
[0025]存储模块,用于将所述第一缓存数据存储在所述本地缓存中,将所述第二缓存数据存储在所述分布式缓存中。
[0026]在一种可能的实施方式中,所述装置还包括:
[0027]更新模块,用于每隔预设时长,更新所述本地缓存和分布式缓存中的缓存数据。
[0028]在一种可能的实施方式中,所述更新模块,用于每隔第一预设时长,更新所述本地缓存;每隔第二预设时长,更新所述分布式缓存,所述第一预设时长和所述第二预设时长不同。
[0029]在一种可能的实施方式中,所述装置还包括控制模块,用于执行下述至少一项:
[0030]获取第一缓存控制请求,所述第一缓存控制请求用于请求启用或停用所述本地缓存;响应于所述第一缓存控制请求,控制所述本地缓存启用或停用;
[0031]获取第二缓存控制请求,所述第二缓存控制请求用于请求启用或停用所述分布式缓存;响应于所述第二缓存控制请求,控制所述分布式缓存启用或停用。
[0032]在一种可能的实施方式中,所述查询模块还用于在所述本地缓存启用,所述分布式缓存停用的情况下,响应于所述数据获取请求,基于所述目标数据的数据标识在所述本地缓存中进行查询,确定所述本地缓存是否存在所述目标数据;在所述本地缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在数据库中进行查询,得到所述目标数据;
[0033]所述发送模块还用于将所述目标数据发送给所述客户端。
[0034]在一种可能的实施方式中,所述查询模块还用于在所述本地缓存停用,所述分布式缓存启用的情况下,响应于所述数据获取请求,基于所述目标数据的数据标识在所述分布式缓存中进行查询,确定所述分布式缓存是否存在所述目标数据;在所述分布式缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在数据库中进行查询,得到所述目标数据;
[0035]所述发送模块还用于将所述目标数据发送给所述客户端。
[0036]一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现所述数据查询方法。
[0037]一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现所述数据查询方法。
[0038]一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述数据查询方法。
[0039]通过本说明书实施例提供的技术方案,在获取到数据获取请求的情况下,现在本地缓存中基于数据获取请求携带的数据标识进行查询,确定本地缓存中是否存在目标数据。在该本地缓存中未命中该目标数据的情况下,基于该数据标识在分布式缓存中进行查询,确定该分布式缓存中是否存在该目标数据。在该分布式缓存中存在该目标数据的情况下,将该目标数据发送给客户端。由于该本地缓存和该分布式缓存是通过缓存注解的方式配置的,也就实现缓存逻辑和业务逻辑解耦的前提下,充分利用了本地缓存和分布式缓存各自的特性,提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,所述方法包括:获取客户端发送的数据获取请求,所述数据获取请求用于请求获取目标数据,所述数据获取请求携带所述目标数据的数据标识;响应于所述数据获取请求,基于所述目标数据的数据标识在本地缓存中进行查询,确定所述本地缓存是否存在所述目标数据;在所述本地缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在分布式缓存中进行查询,确定所述分布式缓存是否存在所述目标数据,所述本地缓存和所述分布式缓存是通过缓存注解的方式配置的;在所述分布式缓存中命中所述目标数据的情况下,将所述分布式缓存中的所述目标数据发送给所述客户端。2.根据权利要求1所述的方法,所述基于所述目标数据的数据标识在本地缓存中进行查询,确定所述本地缓存是否存在所述目标数据之后,所述方法还包括:在所述本地缓存中命中所述目标数据的情况下,将所述本地缓存中的所述目标数据发送给所述客户端。3.根据权利要求1所述的方法,所述在所述分布式缓存中命中所述目标数据的情况下,将所述分布式缓存中的所述目标数据发送给所述客户端之后,所述方法还包括:将所述分布式缓存中的所述目标数据发送至所述本地缓存。4.根据权利要求1所述的方法,所述在所述本地缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在分布式缓存中进行查询,确定所述分布式缓存是否存在所述目标数据之后,所述方法还包括:在所述分布式缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在数据库中进行查询,得到所述目标数据;将所述目标数据发送给所述客户端。5.根据权利要求4所述的方法,所述在所述分布式缓存中未命中所述目标数据的情况下,基于所述目标数据的数据标识在数据库中进行查询,得到所述目标数据之后,所述方法还包括下述至少一项:将所述目标数据发送至所述本地缓存;将所述目标数据发送至所述分布式缓存。6.根据权利要求1所述的方法,所述获取客户端发送的数据获取请求之前,所述方法还包括:从数据库中获取第一缓存数据和第二缓存数据,所述第一缓存数据和所述第二缓存数据的数据内容不同;将所述第一缓存数据存储在所述本地缓存中,将所述第二缓存数据存储在所述分布式缓存中。7.根据权利要求6所述的方法,所述将所述第一缓存数据存储在所述本地缓存中,将所述第二缓存数据存储在所述分布式缓存中之后,所述方法还包括:每隔预设时长,更新所述本地缓存和分布式缓存中的缓存数据。8.根据权利要求7所述的方法,所述每隔预设时长,更新所述本地缓存和分布式缓存中的缓存数据包括:
每隔第一预设时长,更新所述本地缓存;每隔第二预设时长,更新所述分布式缓存,所述第一预设时长和所述第二预设时长不同。9.根据权利要求1所...

【专利技术属性】
技术研发人员:邱超
申请(专利权)人:重庆蚂蚁消费金融有限公司
类型:发明
国别省市:

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

1