[发明专利]缓存最终一致性更新方法有效
申请号: | 202110572535.6 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113254465B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 陈锦鹏;鲜青林;彭一亮;邓文科;宋舰;曾辉 | 申请(专利权)人: | 四川虹魔方网络科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 张秀敏 |
地址: | 621000 四川省绵阳*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 最终 一致性 更新 方法 | ||
1.一种缓存最终一致性更新方法,其特征在于,基于Redis队列保证缓存最终一致性,具体包括以下步骤:
步骤1、业务系统需要对Redis程序中的数据进行修改时,首先从Redis程序中获取对应的缓存标志当前的incr值;
步骤2、业务系统将需要更新的数据进行拼装,拼装内容包括缓存信息、incr值以及缓存内容类型,然后对Redis程序指定队列进行左入队操作,即 Redis程序的lpush操作;
步骤3、定时更新程序在定时任务触发时,负责对Redis程序指定队列进行右出队操作,即 Redis程序的brpop操作;
步骤4、判断Redis程序的右出队操作获得的结果是否为空:如果Redis程序的右出队操作获得的结果不为空,则对缓存进行更新;如果Redis程序的右出队操作获得的结果为空,则定时更新程序的该次执行结束,等待下一次唤醒;
所述步骤4中,如果Redis程序的右出队操作获得的结果不为空,对缓存进行更新具体包括以下步骤:
步骤4.1、定时更新程序解析出队操作获得的结果,获取对应的缓存标志的incr值,判断获取的incr值和解析出队操作获得的结果的incr值是否一致,如果一致则说明该数据属于最新的数据库数据,则是属于可以更新到Redis程序缓存中的内容;如果不一致,则说明该数据不是最新的,则应当跳过该次更新;
步骤4.2、当数据是属于应当被更新到Redis程序中的缓存数据时,先更新Redis程序中的对应的缓存标志的incr值,即 对缓存标志进行incr操作;
步骤4.3、将解析到的数据更新到Redis程序中去,替换之前的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川虹魔方网络科技有限公司,未经四川虹魔方网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110572535.6/1.html,转载请声明来源钻瓜专利网。