73.秒杀缓存如何与数据库的数据保持一致性: 先更新数据库,后删除缓存(推荐) 1可能出现的问题 更新数据库成功了,但是在删除缓存的阶段没有成功,则之后读取的缓存都是错误的 2解决方式一:异步实现之利用消息队列 请求A向服务端发送修改商品请求 相应的模块根据请求会对数据库对应内容进行更新,更新成功后会向MQ发送消息 该消息通知缓存处理模块删除对应的缓存 缓存模块监听到有新的消息,会执行缓存删除逻辑 利用消息队列的手动提交机制可以保证删除逻辑顺利完成 3 解决方式二:基于Canal的通知 商品服务完成数据库修改操作后,业务直接结束。没有任何代码侵入 Canal监听mysql变化,当发现变化后,立即通知缓存服务 缓存服务接收到canal通知,删除缓存。
点赞 评论

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
牛客网
牛客企业服务