数据的查询方法、装置、电子设备及计算机可读介质制造方法及图纸

技术编号:33961618 阅读:61 留言:0更新日期:2022-06-30 00:38
本公开涉及一种数据的查询方法、装置、电子设备及计算机可读介质,属于数据存储技术领域。该方法包括:响应于客户端针对目标数据发起的数据查询请求,从缓存数据库获取所述目标数据对应的缓存数据版本;从存储引擎中获取所述目标数据对应的辅助索引数据,并根据所述辅助索引数据确定所述缓存数据版本是否为目标版本;若所述缓存数据版本为所述目标版本,则返回所述缓存数据库中的目标数据查询记录;若所述缓存数据版本不是所述目标版本,则返回所述存储引擎中的目标数据查询记录。本公开通过对比缓存数据库与存储引擎中的数据版本,可以保证缓存数据库与存储引擎之间的强一致性,使用户能够高效地查询到最新版本的数据。用户能够高效地查询到最新版本的数据。用户能够高效地查询到最新版本的数据。

【技术实现步骤摘要】
数据的查询方法、装置、电子设备及计算机可读介质


[0001]本公开涉及数据存储
,具体而言,涉及一种数据的查询方法、数据的查询装置、电子设备及计算机可读介质。

技术介绍

[0002]在网站的一些大型活动中,服务器端在进行开发设计时,很多情况下都需要应对高额的QPS(Queries Per Second,每秒查询率),读请求的频率相对较高。
[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]主键标识获取单元,被配置为执行根据所述辅助索引数据得到所述目标数据对应的主键标识,并根据所述主键标识从所述存储引擎中获取所述目标数据的目标数据查询记录;
[0040]缓存数据库更新单元,被配置为执行根据所述存储引擎中获取到的所述目标数据查询记录更新所述缓存数据库,并将所述目标数据查询记录返回至所述客户端。
[0041]在本公开的一种示例性实施例中,所述数据的查询装置还包括:
[0042]空值返回模块,被配置为执行若所述目标数据在所述存储引擎中对应的存储数据版本为空值,则删除所述缓存数据库中的所述目标数据,并向所述客户端返回空值。
[0043]在本公开的一种示例性实施例中,所述目标版本确定模块包括:
[0044]数据版本过滤单元,被配置为执行根据所述辅助索引数据查询所述存储引擎中是否存在存储数据版本大于所述缓存数据版本的目标数据;
[0045]目标记录获取单元,被配置为执行若所述存储引擎中存在所述存储数据版本大于所述缓存数据版本的目标数据,则从所述存储引擎中获取所述目标数据的目标数据查询记录;
[0046]目标版本确定单元,被配置为执行若所述存储引擎中不存在所述存储数据版本大于所述缓存数据版本的目标数据,则将所述缓存数据版本确定为目标版本。
[0047]在本公开的一种示例性实施例中,所述数据版本过滤单元包括:
[0048]主键标识查询单元,被配置为执行根据所述辅助索引数据查询所述存储引擎中是否存在所述目标数据对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的查询方法,其特征在于,包括:响应于客户端针对目标数据发起的数据查询请求,从缓存数据库获取所述目标数据对应的缓存数据版本;从存储引擎中获取所述目标数据对应的辅助索引数据,并根据所述辅助索引数据确定所述缓存数据版本是否为目标版本;若所述缓存数据版本为所述目标版本,则返回所述缓存数据库中的目标数据查询记录;若所述缓存数据版本不是所述目标版本,则返回所述存储引擎中的目标数据查询记录。2.根据权利要求1所述的数据的查询方法,其特征在于,所述根据所述辅助索引数据确定所述缓存数据版本是否为目标版本,包括:根据所述辅助索引数据得到所述目标数据在所述存储引擎中对应的存储数据版本;在所述缓存数据版本大于或等于所述存储数据版本时,将所述缓存数据版本确定为目标版本。3.根据权利要求2所述的数据的查询方法,其特征在于,所述返回所述存储引擎中的目标数据查询记录,包括:根据所述辅助索引数据得到所述目标数据对应的主键标识,并根据所述主键标识从所述存储引擎中获取所述目标数据的目标数据查询记录;根据所述存储引擎中获取到的所述目标数据查询记录更新所述缓存数据库,并将所述目标数据查询记录返回至所述客户端。4.根据权利要求1所述的数据的查询方法,其特征在于,所述根据所述辅助索引数据确定所述缓存数据版本是否为目标版本,包括:根据所述辅助索引数据查询所述存储引擎中是否存在存储数据版本大于所述缓存数据版本的目标数据;若所述存储引擎中存在所述存储数据版本大于所述缓存数据版本的目标数据,则从所述存储引擎中获取所述目标数据的目标数据查询记录;若所述存储引擎中不存在所述存储数据版本大于所述缓存数据版本的目标数据,则将所述缓存数据版本确定为目标版本。5.根据权利要求4所述的数据的查询方法,其特征在于,所述根据所述辅助索引数据查询所述存储...

【专利技术属性】
技术研发人员:于亚运
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1