[发明专利]一种数据二级缓存的方法和装置在审

专利信息
申请号: 202010638560.5 申请日: 2020-07-03
公开(公告)号: CN111858669A 公开(公告)日: 2020-10-30
发明(设计)人: 欧英俊;张震 申请(专利权)人: 上海众言网络科技有限公司
主分类号: G06F16/2455 分类号: G06F16/2455;G06F16/23;G06F12/0897;G06F9/54
代理公司: 北京卓唐知识产权代理有限公司 11541 代理人: 卜荣丽
地址: 200030 上海市徐汇区宜山路7*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 二级缓存 方法 装置
【说明书】:

发明提供一种数据二级缓存的方法和装置,其中该方法包括:创建消息发送方和消息订阅方;消息订阅方接收发送方发布至预设频道内的消息;根据消息更新本地缓存;若本地缓存异常,则进行二级缓存更新;其中本地缓存异常包括:本地无缓存或缓存失效。本发明对新增节点/服务,消息订阅方订阅指定的频道即可,然后根据订阅的消息判断本地缓存情况是否需要进行二级缓存更新,这样保证各个服务的数据一致性。通过增加本地缓存和Redis缓存来减少热点数据的查询次数,减少服务的响应时间,降低数据库或接口依赖,提高吞吐量,从而达到提升服务性能的目的。

技术领域

本发明涉及计算机领域,尤其涉及一种数据二级缓存的方法和装置。

背景技术

现有技术中在用户端,服务器端之间存在大量通信和大量的数据请求时,会出现导致请求速度缓慢,服务器端响应速度慢,严重影响用户体验的情况。这时需要一套消息缓存方案,能够来减少热点数据的查询次数,减少服务的响应时间进而提升服务的方法。

发明内容

为了解决现有技术中数据缓存工作量庞大,效率低下的问题,本发明提供一种数据二级缓存的方法和装置。

第一方面,本发明提供一种数据二级缓存的方法,该方法包括:

创建消息发送方和消息订阅方;

消息订阅方接收发送方发布至预设频道内的消息;

根据消息更新本地缓存;

若本地缓存异常,则进行二级缓存更新;其中本地缓存异常包括:本地无缓存或缓存失效。

进一步地,若本地缓存异常,则进行二级缓存更新包括:

若本地缓存异常,则增加同步锁同步数据;

查询Redis内是否存在缓存数据;

若存在,则利用当前Redis内的缓存数据更新本地缓存数据,释放同步锁。

进一步地,查询Redis内是否存在缓存数据还包括:

若不存在,则查询数据库是否存在缓存数据;

若存在,则利用数据库内的数据更新Redis内的数据和本地缓存数据,释放同步锁。

进一步地,查询数据库是否存在缓存数据还包括:

若不存在,则将本地缓存数据设置为默认值,更新Redis内的数据,释放同步锁。

进一步地,方法还包括:

本地缓存设置预设时间;

当数据更新时间超过预设时间,则获取Redis内的缓存数据作为当前本地缓存数据。

第二方面,本发明提供一种数据二级缓存的装置,该装置包括:

创建模块,用于创建消息发送方和消息订阅方;

发送模块,用于消息订阅方接收发送方发布至预设频道内的消息;

更新模块,用于根据消息更新本地缓存;

二级缓存模块,用于若本地缓存异常,则进行二级缓存;其中本地缓存异常包括:本地无缓存或缓存失效。

进一步地,二级缓存模块包括:

同步锁单元,用于若本地缓存异常,则增加同步锁同步数据;

查询Redis缓存数据单元,用于查询Redis内是否存在缓存数据;

更新本地缓存数据单元,用于若存在,则利用当前Redis内的缓存数据更新本地缓存数据,释放同步锁。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海众言网络科技有限公司,未经上海众言网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010638560.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top