[发明专利]一种缓存更新方法及装置在审
申请号: | 201710199179.1 | 申请日: | 2017-03-29 |
公开(公告)号: | CN107122410A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 余伟;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/0866;G06F12/0804;H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 汤财宝 |
地址: | 430000 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 更新 方法 装置 | ||
技术领域
本发明涉及数据缓存技术,更具体地,涉及一种缓存更新方法及装置。
背景技术
目前,缓存(缓存指一种存储于内存的键值数据存储方案,比如MEMCACHE或者REDIS等)被大量的使用到WEB应用中。为了提供稳定高效的用户体验,很多高访问量的WEB应用都会考虑将数据放到本地缓存中。这种方式比直接从后台服务器数据库中读取数据会快很多,从而能用更少的服务器来支撑更高的访问量。
随着后台服务器数据库中的数据不断更新的过程中,本地缓存中的数据也需要更新,目前通常的更新方式是人工按照更新周期对本地缓存进行更新。
按照更新周期对本地缓存进行更新的方式对于用户需要访问的数据来说,没有针对性,对于访问频率不同的数据均按照更新周期进行了更新,使得数据资源出现浪费。
发明内容
本发明提供一种缓存更新方法及装置,克服了现有的缓存更新时机按照更新周期进行更新针对性不强的问题。
根据本发明的一个方面,提供了一种缓存更新方法,包括:
S1,接收客户端发送的访问请求,其中,所述访问请求中包括待访问数据标识及对应的数据表标识信息;
S2,,从本地数据缓存中查找与所述待访问数据标识对应的数据结果和所述数据结果的版本信息;以及从本地版本缓存中查找与所述数据表标识信息对应的版本信息;
S3,判断从本地数据缓存中查找的版本信息与从本地版本缓存中查找的版本信息是否一致,并根据判断结果确定本地数据缓存的更新方式。
本发明的有益效果为:根据客户端的访问请求,分别从本地数据缓存中查找对应的数据结果和版本信息,以及从本地版本缓存中查找对应的版本信息,并比较两个版本信息是否一致,根据两个版本信息是否一致的结果确定本地数据缓存的更新方式,本发明通过客户端的访问请求触发本地数据缓存的更新,相比现有的根据更新周期定期对本地缓存进行更新,更具有针对性,也能够实现本地缓存数据的自动更新,使得本地缓存数据与服务器数据库中的数据保持一致。
在上述技术方案的基础上,本发明还可以作如下改进。
可选的,所述步骤S3中根据判断结果确定本地数据缓存的更新方式具体包括:
若判断出从本地数据缓存中查找的版本信息与从本地版本缓存中查找的版本信息一致时,则将从本地数据缓存中查找到的与所述待访问数据标识对应的数据结果和所述数据结果的版本信息重新写入本地数据缓存中,以增加所述数据结果的缓存周期,并将从本地数据缓存中查找的数据结果返回给客户端。
所述可选的有益效果为:从本地数据缓存中查找的版本信息与从本地版本缓存中查找的版本信息一致时,重置本地数据缓存中的数据结果,增加该数据的缓存周期,能够保持该数据的热度,提高缓存的命中率。
可选的,所述步骤S3中根据判断结果确定本地数据缓存的更新方式具体包括:
若判断出从本地数据缓存中查找的版本信息与从本地版本缓存中查找到的版本信息不一致时,则从服务器数据库中查找与所述待访问数据标识对应的数据结果和所述数据结果的版本信息,写入本地数据缓存,并将从服务器数据库中查找的数据结果返回给客户端。
可选的,所述步骤S3还包括:
当判断出从本地数据缓存中查找的版本信息与从本地版本缓存中查找到的版本信息不一致时,对当前访问请求加锁;
当从服务器数据库中查找到与所述待访问数据标识对应的数据结果和版本信息,写入本地数据缓存后,对所述当前访问请求解锁,并将查找的数据结果返回给客户端。
所述可选的有益效果为:从本地数据缓存中查找的版本信息与从本地版本缓存中查找到的版本信息不一致时,对当前访问请求加锁,此时只有当前访问请求能够执行操作,避免大量的访问请求压在数据库上,给数据库造成负担太大。
可选的,所述步骤S1之前还包括:
按照更新频度对应的更新周期对服务器数据库中的数据内容进行更新,并记录更新后的版本信息,同时,对本地版本缓存中的版本信息进行同步更新。
根据本发明的另一个方面,还提供了一种缓存更新装置,包括:
接收模块,用于接收客户端发送的访问请求,其中,所述访问请求中包括待访问数据标识及对应的数据表标识信息;
查找模块,用于从本地数据缓存中查找与所述待访问数据标识对应的数据结果和所述数据结果的版本信息;以及从本地版本缓存中查找与所述数据表标识信息对应的版本信息;
判断模块,用于判断从本地数据缓存中查找的版本信息与从本地版本缓存中查找的版本信息是否一致;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710199179.1/2.html,转载请声明来源钻瓜专利网。