雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

Redis 同步、击穿、穿透及雪崩简述

2024-10-21 37

对Redis最常见的几个问题,简要的说下我的理解与解决方法。

数据同步

指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。

一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。

缓存击穿

指在高并发应用场景下,已经缓存的热点Key突然失效,特别是多个热点Key同时失败,大量请求瞬间穿过Redis缓存, 一并到达数据库,对数据库形成巨大的压力甚至瘫痪数据库。

解决方案:1、热点数据不过期或设置很长的过期时间 2、缓存重建时,加互斥锁等防止多次重建或死锁

缓存穿透

指恶意用户,大请求量、高并发的请求缓存和数据库都不存在的数据(比如根据已知Id进行联想、猜测。

解决方案:1、缓存空值 2、使用布隆过滤器(推荐的)

缓存雪崩

指大量缓存热点key同时失效,大量请求瞬间到达数据库,造成数据库巨大压力或瘫痪。

解决方案:1、缓存预热 2、给每个热点缓存key附加一个较短的随机过期时间,不让多个热点同时失效;3、 Redis服务器,做成集群,提高性能和可用性 4、Redis服务使用Docker、云服务等,具备动态扩容、弹性服务等。

更新于:1个月前
赞一波!

文章评论

评论问答