多级缓存如何做到实时数据一致性,特别是本地缓存(多节点)
问题描述
在基于Caffeine(本地缓存)+Redis(分布式缓存)搭建的多级缓存架构中,当数据更新时如何及时的更新缓存,特别是本地缓存在多个服务节点上都存在
背景信息
我在简历中的聚合支付平台项目中提到了使用多级缓存来实现商户渠道配置数据的高效读取,商户渠道配置在聚合支付平台中是非常重要的数据同时读取很频繁
具体疑问
具体就是想知道这种情况下如何做到数据库更新时实时的删除缓存特别是本地缓存
已有理解
我了解到一个比较合适的方案是使用消息队列来实现,通过广播消息通知所有节点删除本地消息,但是我了解到广播消息是无法保证每个节点都能成功消费消息(没有重试机制)
然后还有一个兜底的方案是给本地缓存加过期时间,但是这样也无法做到实时更新
我现在就在想这种场景是不是不适合使用多级缓存毕竟缓存的是比较重要的数据,但是这些数据的读取很频繁且修改很少
预期目标
希望能给我提供一些参考方案,是不用多级缓存还是用其他手段保证缓存一致性
相关资料

评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
