[发明专利]一种缓存数据的方法和装置在审
申请号: | 201711393072.7 | 申请日: | 2017-12-21 |
公开(公告)号: | CN110019366A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 姚书清;陈俊伟;仇路;金薇薇;朱林;田玉杰;李鑫 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 方法和装置 缓存数据 计算机技术领域 存储位置 历史队列 命中率 数据库 访问 更新 | ||
本发明公开了一种缓存数据的方法和装置,涉及计算机技术领域。该方法的一个具体实施方式包括:确定缓存中是否存在待访问的数据的节点;当所述缓存中不存在所述数据的节点时,则从数据库中获取所述数据,以及在所述缓存的历史队列中建立所述数据的节点,并将所述数据存入所述节点;当所述缓存中存在所述数据的节点时,按照当前时刻更新所述数据的节点的存储位置。该实施方式能够提高数据的访问时效和读取数据的命中率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存数据的方法、装置、电子设备和计算机可读介质。
背景技术
缓存就是数据交换的缓冲区,当某一硬件要访问数据时,会首先从缓存中查找需要的数据,如果查到则直接执行,未能查到则访问数据库。由于缓存的运行速度比数据库快,故缓存的作用就是提高数据访问的时效,减轻数据库的访问压力。如果数据库中也不存在待访问数据,那么下次该数据被访问时,会绕过缓存,继续访问数据库,造成缓存穿透。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
系统服务如果重启会情况缓存数据,缓存数据需要恢复重建;
如果数据库中本身也不存在待访问的数据,会造成缓存穿透问题;
缓存被过多占用,造成浪费;
仅根据哈希值进行数据读取与查询会造成误判。
发明内容
有鉴于此,本发明实施例提供一种缓存数据的方法和装置,能够进一步提高数据的访问时效,防止因系统服务重启而重建缓存数据,避免缓存穿透问题并节约系统资源,提高数据查询与访问的准确性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种缓存数据的方法,包括:确定缓存中是否存在待访问的数据的节点;当所述缓存中不存在所述数据的节点时,则从数据库中获取所述数据,以及在所述缓存的历史队列中建立所述数据的节点,并将所述数据存入所述节点;当所述缓存中存在所述数据的节点时,按照当前时刻更新所述数据的节点的存储位置。
可选地,当所述缓存中不存在所述数据的节点时,则从数据库中获取所述数据步骤之前,还包括:确认所述数据库中存在所述数据;当所述数据库中不存在所述数据时,在所述历史队列中建立所述数据的空节点,所述数据的空节点用于指示所述数据不存在于所述数据库。
可选地,当所述缓存中存在所述数据的节点时,按照当前时刻更新所述数据的节点的存储位置包括:获取当前时刻之前预设时段内所述数据的节点的被访问次数;当所述数据的节点被访问的次数达到预设阈值时,将所述历史队列中的所述数据的节点转存到所述缓存中的优选队列。
可选地,所述方法还包括:根据所述历史队列的预设长度和/或预设周期淘汰所述历史队列中最先建立的节点。
可选地,所述方法还包括:根据所述优选队列的预设长度和/或预设周期淘汰所述优选队列中访问频率最低节点。
可选地,所述缓存建立在Linux共享内存中。
可选地,确定缓存中是否存在待访问的数据的节点包括:获取所述数据的哈希值;根据所述数据的哈希值查询所述缓存中是否存在与所述哈希值对应的节点;若存在,则获取所述数据的唯一标识,根据所述数据的唯一标识确定所述缓存中是否存在所述数据。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种缓存数据的装置,包括:查询模块,用于确定缓存中是否存在待访问的数据的节点;存储模块,用于当所述查询模块确定所述缓存中不存在所述数据的节点时,则从数据库中获取所述数据,以及在所述缓存的历史队列中建立所述数据的节点,并将所述数据存入所述节点;更新模块,用于当所述查询模块确定所述缓存中存在所述数据的节点时,按照当前时刻更新所述数据的节点的存储位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711393072.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种利用栈生成数据处理顺序的方法
- 下一篇:一种统计数据特征的方法和装置