Java相关

Redis 缓存问题

2020-03-31  本文已影响0人  万福来

Redis 缓存问题

缓存穿透

缓存穿透问题描述

缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从DB查不到数据则不写入缓存,这将导致这个不存在的数据每次都要到DB去查询,失去了缓存的意义。在流量大时,DB可能会挂掉,黑客可以利用不存在的key频繁攻击我们的应用。

缓存穿透解决方案

缓存雪崩

缓存雪崩问题描述

缓存雪崩是指在我们设置缓存时采用了相同的过期时间,导致大量缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重发生雪崩效应。

缓存雪崩解决方案

缓存击穿

缓存击穿问题描述

对于一些设置了过期时间的缓存key,如果这些key在某个时间点被超高并发访问,是一种非常热点的数据。和缓存雪崩的区别是针对某一个key缓存,缓存雪崩是多个key。
热点缓存key在某个时间点过期的时候,恰好这个时间点有大量并发请求这个缓存key,这些请求发现缓存key已经过期会从后端DB加载数据并回填缓存 ,这个大并发请求可能会瞬间把DB压垮。

缓存击穿解决方案

上一篇下一篇

猜你喜欢

热点阅读