Redis雪崩,击穿,穿透
2021/7/16 19:06:07
本文主要是介绍Redis雪崩,击穿,穿透,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
雪崩
什么是雪崩
当在某个时刻大面积的key失效,此时会有大量的请求打在DB上面,造成DB的CPU和内存负载过高,甚至宕机
怎么处理雪崩
- 预防雪崩
- 对每个key的失效时间加一个随机值,保证数据库不会在同一时间大面积失效
- 设置热点数据不设置过期时间,有更新操作时对缓存进行更新就好了
- redis宕机引起的雪崩
- 采用集群缓存,保证缓存服务的高可用。这种方案就是在发生雪崩前对缓存集群实现高可用,如果是使用 Redis,可以使用 主从+哨兵 ,Redis Cluster 来避免 Redis 全盘崩溃的情况
- 开启Redis持久化机制,尽快恢复缓存集群。一旦重启,就能从磁盘上自动加载数据恢复内存中的数据。
- 防止MySQL不挂
- ehcache本地缓存 + Hystrix限流&降级,避免MySQL被打死
击穿
什么的击穿
在某时刻的某个热点key失效,且有大量的请求对该key进行访问,导致请求全落在DB上,造成DB的CPU和内存负载过高,甚至宕机
怎么处理击穿
- 设置热点数据永远不过期
- 互斥锁。第一个查询数据的请求上使用一个 互斥锁来锁住它。其他的线程走到这一步拿不到锁就等着,等第一个线程查询到了数据,然后做缓存。后面的线程进来发现已经有缓存了,就直接走缓存。
穿透
用户不断请求不存在于Redis和数据库中的数据
怎么处理穿透
- 接口层增加校验。减少不合法请求
- 缓存空值
- 布隆过滤器
- 对单个IP每秒访问次数超出阈值的IP都拉黑
这篇关于Redis雪崩,击穿,穿透的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18Redis安装入门:新手必读指南
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作