Redis高并发问题

1、热点数据的发现

2、缓存雪崩

2.1、什么是缓存雪崩?

缓存雪崩就是Redis的大量热点数据同时过期(失效),因为设置了相同的过期时间,刚好这个时候Redis请求

的并发量又很大,就会导致所有的请求落到数据库。

2.2、解决方案

  1. 加互斥锁或者使用队列,针对同一个key只允许一个线程到数据库查询

  2. 缓存定时预先更新,避免同时失效

  3. 通过加随机数,使key在不同的时间过期

  4. 缓存永不过期

3、缓存穿透

3.1、什么是缓存击穿?

缓存击穿是请求中查询的key,在缓存中不存在,同时在数据库中也不存在。这样就导致每次请求都会查询数据库。从而导致数据库压力过大而宕机。

3.2、解决方案

  1. 缓存不存在的key。就是请求中的key,如果在缓存中不存在,并且在数据库中不存在,则将key存在缓存中,这样下次直接取缓存就好。(会导致缓存存在很多无效key
  2. 使用布隆过滤器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值