[发明专利]一种缓存数据的更新方法及装置在审
申请号: | 201611247438.5 | 申请日: | 2016-12-29 |
公开(公告)号: | CN106815329A | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 黄武汉 | 申请(专利权)人: | 网易无尾熊(杭州)科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/54 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 黄志华 |
地址: | 310051 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据 更新 方法 装置 | ||
技术领域
本发明的实施方式涉及数据处理技术领域,更具体地,本发明的实施方式涉及一种缓存数据的更新方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
缓存也即数据交换的缓冲区(Cache),计算机在读取数据时,会首先从缓存中查询需要的数据,若在缓存中查询到需要的数据,则直接返回查询到的数据,若在缓存中未查询到需要的数据,则从数据库(或者内存)中查询。由于缓存的运行速度比数据库快得多,故缓存的作用就是帮助计算机更快地运行。
为了提高计算机的运行速度,通常将使用频率较高的数据写入到缓存中,现有技术中通常采用以下两种方案,具体来说:
方案一、周期更新缓存数据。在写入数据时,只将数据写入到数据库中,对数据库做更新操作,而不将数据写入缓存,不更新缓存中的数据,同时启动一个定时任务,定时的从数据库中获取数据,经过计算,将数据写入到缓存中,更新缓存中的数据。计算机访问数据时,直接在缓存中查询数据,如果发现缓存中不存在需要的数据,则直接返回空数据。
此种方案一方面需要将数据写入到数据库,另一方面需要定时获取数据库中的数据,经过计算写入到缓存中,在数据量较大的时候,性能瓶颈非常明显;缓存中的数据在未失效或者未过期时,其实是不必进行更新的,每次更新缓存中的全部数据,计算量较大;缓存中的数据在定时刷新周期内若发生变更,则变更的数据不能够及时的更新到缓存中,会造成查询到过期的数据,而且访问缓存中的数据时,失效的缓存查询不到需要的数据,会直接返回空数据,用户体验很差,没有补偿机制。
方案二、将数据同时写入数据库和缓存中。在写入数据时,除了将数据写入数据库之外,同时冗余计算,将数据写入到缓存中。计算机访问数据,若发现缓存中不存在需要的数据,就穿透到数据库中进行查询,在数据库中查询到数据后,将查询到的数据写入缓存中,然后返回查询到的数据,如果数据库中也未查询到需要的数据,则直接返回空数据。
此种方案中,在写入数据时,增加了很多额外的计算操作,让写入数据与计算读取逻辑耦合,当业务种类多时,代码会变得臃肿,难以维护,而且在缓存中未查询到数据时,缓存穿透到数据库中查询需要的数据,在高并发时会导致数据库瘫痪,同时缓存穿透的设计,让非法用户能利用不存在的缓存数据的标识,直接攻击数据库,造成数据库瘫痪。
因此,目前亟需一种缓存数据的更新方法,以及时更新缓存中的数据,降低计算量,同时提高数据库的安全性。
发明内容
出于现有缓存数据更新方案中,周期更新缓存数据的方案,性能瓶颈较为明显,计算量大,且缓存数据不能得到及时更新,导致查询到过期数据;而将数据同时写入数据库和缓存中的方案,写入数据时冗余计算,计算量大,且缓存中查询不到的数据通过缓存穿透到数据库中进行查询,降低了数据库的安全性。
为此,非常需要一种改进的缓存数据的更新方法,以及时更新缓存中的数据,降低计算量,同时提高数据库的安全性。
在本上下文中,本发明的实施方式期望提供一种缓存数据的更新方法及装置。
在本发明实施方式的第一方面中,提供了一种缓存数据的更新方法,包括:
将待更新缓存数据的标识添加到用于存储待更新缓存数据信息的队列中;
从所述队列中获取待更新缓存数据的标识,并根据获取到的待更新缓存数据的标识,从数据库中查询数据;
利用查询到的数据更新缓存中所述待更新缓存数据的标识对应的数据。
在一种可能的实施方式中,本发明实施例提供的上述方法中,所述将待更新缓存数据的标识添加到用于存储待更新缓存数据信息的队列中,包括:在将目标数据写入数据库时,将目标数据的标识作为待更新缓存数据的标识添加到用于存储待更新缓存数据信息的队列中。
在一种可能的实施方式中,本发明实施例提供的上述方法中,所述将待更新缓存数据的标识添加到用于存储待更新缓存数据信息的队列中,包括:在缓存中查询目标数据且未查询到目标数据时,则将目标数据的标识作为待更新缓存数据的标识添加到用于存储待更新缓存数据信息的队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易无尾熊(杭州)科技有限公司,未经网易无尾熊(杭州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611247438.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置