什么是缓存穿透、缓存击穿、缓存雪崩呢?

对于使用分布式缓存实现大数据的存储,可能会遇到缓存穿透、 缓存击穿、 缓存雪崩等问题,这些是什么呢,该如何解决呢

缓存穿透

缓存穿透是指大量查询没有命中缓存, 直接去到数据库中查询, 如果查询量比较大, 会导致数据库的查询流量大, 对数据库造成压力。
解决
1、缓存空值
将第一次查询的空值缓存起来, 同时设置一个比较短的过期时间
2、使用布隆过滤算法(BloomFilter)
用于检查一个元素是否存在, 返回结果有两种: 可能存在或一定不存在

缓存击穿

缓存击穿是指在高并发情况下, 同时查询一个key时, key值由于某种原因突然失效(设置过期时间或缓存服务宕机) , 就会导致同一时间, 这些请求都去查询数据库了
解决
使用排斥锁来实现有序地请求数据库, 减少数据库的并发压力。

缓存雪崩

缓存雪崩一般是指发生大规模的缓存失效情况, 例如, 缓存的过期时间同一时间过期了, 缓存服务宕机了
解决
1、采用分散过期时间来解决
2、采用分布式集群来实现缓存服务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值