Redis穿透
查询数据在Redis和Mysql中都不存在,查询都落在Mysql上,使Mysql崩溃。
解决办法:
1、做好基础校验,包括用户鉴权,查询id参数等。
2、缓存空查询结果(设置短过期时间,否则资源浪费)
3、接口层增加 布隆过滤器,将所有可能存在的查询参数存储到一个bitmap中,查询时校验(会有一定的出错率)。
本文介绍了Redis缓存中的三种常见问题:穿透、雪崩和击穿,以及相应的解决策略。针对缓存穿透,提出了基础校验、缓存空查询结果和使用布隆过滤器的方法;对于Redis雪崩,建议采用缓存预热、限流、设置不同过期时间等手段;而对于缓存击穿,提出了设置永不过期、使用分布式锁或本地锁以及定时刷新缓存的方案。
查询数据在Redis和Mysql中都不存在,查询都落在Mysql上,使Mysql崩溃。
解决办法:
1、做好基础校验,包括用户鉴权,查询id参数等。
2、缓存空查询结果(设置短过期时间,否则资源浪费)
3、接口层增加 布隆过滤器,将所有可能存在的查询参数存储到一个bitmap中,查询时校验(会有一定的出错率)。

被折叠的 条评论
为什么被折叠?