缓存穿透、缓存击穿、缓存雪崩、缓存预热

缓存穿透、缓存击穿、缓存雪崩、缓存预热

什么是缓存穿透?
缓存穿透是指用户恶意查询一个缓存中不存在的数据,导致请求直接穿透到数据库上,导致数据库压力过大甚至宕机
解决方法:
1.缓存空对象
2.限制缓存的TTL时间
3.利用布隆过滤器技术
4.设置热点数据预热
5.使用互斥锁进行访问控制

什么是缓存击穿?
缓存击穿是指热点key在某个时间点过期的时候,而恰好在这个时间点对这个key有大量的并发请求过来,从而导致大量的请求打到数据库上
解决方法:
1.延长缓存过期时间
2.使用布隆过滤器技术
3.采用互斥锁或分布锁的方式来控制缓存和数据库的并发访问

什么是缓存雪崩?
缓存雪崩指的是在某个时间内,缓存中大量的数据失效导致所有的请求都落到了数据库上,从而引发数据库短时间内的高并发压力
解决方法:
1.使用多级缓存架构
2.利用缓存的自动过期机制
3.对于热点数据可以采用手动缓存失效的方式来平滑地刷新缓存
4.在代码层面实现数据库的降级,避免缓存失效导致数据库访问压力过大

什么是缓存预热?
缓存预热是指在系统启动或者某个关键操作之前,提前将需要频繁访问的数据加载到缓存中,以提高系统的性能和响应速度。

缓存预热的处理方案包括:
手动预热:在系统启动或者某个关键操作之前,通过代码手动加载需要缓存的数据。
定时预热:通过定时任务,在系统空闲时定期加载需要缓存的数据。
懒加载预热:在第一次访问缓存数据时,如果数据不存在,则加载数据到缓存中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值