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

评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Java学习笔记-文件IO
3
ARTS 1011: 双堆动态对顶求中位数、IPC 注入与空密码串联接管账户与程序从不做决策
4
卫星平台 2.0 M2 交付实录:从登录防爆破到米级轨道预报
5
OD试用期会被随便裁掉吗?我知道的两个真实例子和保命建议
4
22届双非专升本在上海做 java 开发4年了,一直没跳槽,在一家外包公司,4年工资只涨了一千,还是去年说要离职才申请下来涨这么点,工作这几年技术几乎没怎么长进,可能是有点太安于现状了吧。目前想跳槽转 AI 应用开发,不知道怎么开始准备,大佬们有什么好的建议吗,boss 上几乎都是外包在打招呼,我看上的岗位打招呼几乎都是已读不回或直接没消息,现在这行情开发还能干吗,附简历
2
