[发明专利]数据查询方法、装置、服务器及存储介质有效
申请号: | 201911052778.6 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110765138B | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 章碧云 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 宁立存 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 服务器 存储 介质 | ||
本公开关于一种数据查询方法、装置、服务器及存储介质,属于存储技术领域,本公开实施例提供了一种新的数据结构,通过以压缩数据集合的形式来存储和查询数据,该压缩数据集合使用两个数组,来分别存储非空值数据的索引以及非空值数据的值,当要查询目标数据的值时,如果从第一数组中找到目标数据的索引,能够确定目标数据是非空值数据,进而从第二数组找到所述目标数据的值,如果发现第一数组不包括所述目标数据的索引,能够确定目标数据是空值数据。本公开能够解决缓存穿透的问题,并节省了空值数据在缓存中占用的空间。
技术领域
本公开涉及存储技术领域,尤其涉及一种数据查询方法、装置、服务器及存储介质。
背景技术
为了提高数据的查询速度,可以将数据库中的数据存储在缓存(英文:cache)中,当客户端请求查询数据库中的某一数据时,可以先访问缓存,如果缓存中已经存储了数据,则从缓存中读取数据的值,将数据的值返回给客户端,如果缓存中没有存储数据,再从数据库中读取数据的值,那么由于缓存的访问速度快于数据库的访问速度,能够加快查询到数据的值。
目前,通常采用键值对的形式,将待缓存的所有数据均存储在缓存中。具体地,如果数据为非空值数据,则服务器会以数据的身份标识号(英文:identification,简称:ID)为键(英文:key),以数据的值为值(英文:value),为该数据在缓存中存储键值对;如果数据为空值数据,则以数据的ID为键,以0为值,为该数据在缓存中存储键值对。当终端要查询目标数据的值,触发了查询请求时,服务器会确定该目标数据的键,根据目标数据的键查询缓存。如果缓存中包括数据的键,则查询缓存中该键对应的值,作为目标数据的值。如果缓存中不包括数据的键,则服务器确定该数据没有被缓存,会回源数据库,从数据库读取该数据的值。
以缓存评论的点赞数量为例,如果要缓存3条评论的点赞数量,其中ID为001的评论的点赞数量为5,ID为002的评论的点赞数量为0,ID为003的评论的点赞数量为0,则服务器会在缓存中存储3个键值对,评论1的键值对为key:001,value:5,评论2的键值对为key:002,value:0,评论3的键值对为key:003,value:0。当要查询ID是002的评论的点赞数量时,服务器会以002为key,查询缓存,得到value为0;当要查询ID是006的评论的点赞数量时,服务器会以006为key,查询缓存,发现缓存中不包括以006为key的评论,则确定ID是006的评论没有被缓存,则回源数据库,以006为key查询数据库,从而从数据库中读取ID是006的评论的点赞数量。
采用上述方法时,要将空值数据的key和value也存储在缓存中,才能在查询缓存后,确定待查询的目标数据是否是空值数据,这就导致空值数据会在缓存占用很多的存储空间,造成缓存中存储空间的浪费。
发明内容
本公开提供一种数据查询方法、装置、服务器及存储介质,以至少解决相关技术中浪费缓存中存储空间的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据查询方法,包括:
接收查询请求,所述查询请求用于查询目标数据的值;
查询缓存中所述目标数据对应的压缩数据集合,所述压缩数据集合包括第一数组以及第二数组,所述第一数组用于存储非空值数据的索引,所述第二数组用于存储所述非空值数据的值;
如果所述第一数组包括所述目标数据的索引,从所述第二数组查询所述目标数据的值;
如果所述第一数组不包括所述目标数据的索引,确定所述目标数据为空值数据。
可选地,所述从所述第二数组查询所述目标数据的值,包括:
确定所述目标数据的索引在第一数组中所处的位置;
根据所述索引在所述第一数组中所处的位置,查询所述第二数组中所述位置存储的值,作为所述目标数据的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911052778.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置