Redis缓存击穿 穿透 雪崩; 内存淘汰策略

缓存击穿: 热点数据被大并发, 热点数据的关联数据 失效 (代金券 -- 关联出来的商家)

解决: 1, 将关联数据提前设置永不过期;  2, 逻辑过期, 过期时间加到对象里; 3, 服务降级

 

缓存穿透: 访问缓存, 缓存没有, 访问DB, DB存在, 加入缓存, DB不存在, 返回.

解决: 1, 过滤器; 2, redis空值储存 3, 互斥锁 4, 异步更新 5, 服务降级

 

缓存雪崩: 大量数据同时集中失效;   /   节点故障

解决: 1, 失效时间设为随机值 2, 双缓存 /   主从 哨兵

 

过期后的缓存管理: 

内存满了:

主动删除: 根据删除策略 (LRU), 找到最近过期的删除 

内存未满

惰性删除: 过期了, 但不删, 因为删也需要开线程, get的时候才删

定时删除: 但是过期了, 有没有客户端get, 可以用定时任务删除

 

posted @ 2022-03-06 23:16  hippoppower  阅读(44)  评论(0)    收藏  举报