Redis:缓存雪崩和缓存穿透问题解决方案
作者:互联网
前言:
如果本文对您有帮助,麻烦楼下三连!
缓存雪崩
释义:缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。
解决办法:
事前:尽量保证整个 redis 集群的高可用性,发现机器宕机尽快补上。选择合适的内存淘汰策略。
事中:本地ehcache缓存 + hystrix限流&降级,避免MySQL崩掉
事后:利用 redis 持久化机制保存的数据尽快恢复缓存
缓存穿透
释义:
一般是黑客故意去请求缓存中不存在的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉。
解决办法:
有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。另外也有一个更为简单粗暴的方法,如果一个查询返回的数据为空,我们仍然把这个空结果进行缓存,但它的过期时间会很短,不超过五分钟。
Professional Edition:HMGNV-WCYXV-X7G9W-YCX63-B98R2
Enterprise Edition:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
标签:穿透,缓存,请求,数据库,Redis,bitmap,崩掉,雪崩 来源: https://blog.csdn.net/l_mloveforever/article/details/85317779