REDIS问题
文章平均质量分 58
n_rts
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
击穿与穿透:缓存失效的攻防战
摘要:文章对比分析了"击穿"和"穿透"两种缓存问题的区别及解决方案。"击穿"指高并发请求在缓存失效瞬间涌入数据库,解决方案包括设置永不过期、加锁机制等;"穿透"则是无效请求直接穿透缓存到达数据库,可通过参数校验、布隆过滤器、缓存空结果等方式防范。两种问题成因不同,需采取针对性的防御措施。原创 2025-06-11 15:15:00 · 194 阅读 · 0 评论 -
多级缓存以及本地缓存一致性问题
摘要:本文介绍了本地缓存和分布式缓存的组合使用方案。本地缓存(如Guava、Caffeine)作为一级缓存存储低频更新数据,分布式缓存(如Redis)作为二级缓存存储高频更新数据。为解决分布式系统中本地缓存一致性问题,提出利用Redis的Pub/Sub机制实现节点间缓存同步:数据变更时发布消息,其他节点订阅更新,确保缓存一致性。该方案具有实时同步、减少不一致性、解耦更新逻辑等优势,同时需注意消息丢失、延迟和性能问题。通过这种多级缓存架构和消息机制,可以有效提升系统的缓存效率和一致性。原创 2025-06-09 17:54:29 · 652 阅读 · 0 评论 -
删不掉的缓存
A系统在删除缓存之后,推了消息给B系统,后面还有一段代码导致方法没有立即结束,B系统收到消息之后立马来请求了数据,响应实在是太快了,由于A系统事务还没有提交,导致B系统请求到的是旧数据,并写入了缓存。确认了一下,方法上有事务。也就是说在删除缓存之后,事务还没有提交,数据库中的数据还不是新数据,这时候有人调用了查询接口。方案一,删除缓存之后立马将新数据写入到缓存,存在隐患,如果后续代码发生异常导致数据回滚,则缓存与数据库不一致。系统里有一个修改数据的方法,在修改数据之后,删除了redis的缓存。原创 2024-12-20 10:36:31 · 368 阅读 · 0 评论 -
多机房场景下的数据不一致问题
业务系统部署在多个机房,分主机房和备机房,多个机房都可用其他系统通过队列下发数据,只能在主机房接收主机房接收数据之后,修改数据库数据,并同步到备机房数据库,然后删除redis缓存(通过懒加载在下次查询数据时写缓存),删除动作也同步到备机房。原创 2024-12-20 10:28:03 · 711 阅读 · 0 评论
分享