Redis缓存雪崩和Redis缓存穿透

本文介绍了Redis缓存中的两种常见问题——缓存穿透和缓存雪崩,以及相应的解决方案。缓存穿透可通过接口访问层校验和使用布隆过滤器来减少无效查询。缓存雪崩则可以通过随机设置key的过期时间、接口服务端延时策略以及延长热点key的过期时间来避免。
摘要由CSDN通过智能技术生成

Redis简介

Redis是高性能的分布式内存数据库,对于内存数据库经常会出现下面几种情况,也经常会出现在Redis面试题中:缓存穿透、缓存雪崩。本篇分别介绍这些概念以及对应的解决方案。

1.Redis缓存穿透

当查询Redis中没有的数据时,该查询会下沉到数据库层,同时数据库层也没有该数据,当这种情况大量出现或被恶意攻击时,接口的访问全部透过Redis访问数据库,而数据库中也没有这些数据,我们称这种现象为"缓存穿透"。缓存穿透会穿透Redis的保护,提升底层数据库的负载压力,同时这类穿透查询没有数据返回也造成了网络和计算资源的浪费。
如图:
在这里插入图片描述
解决方案:

  • (1) 在接口访问层对用户做校验,如接口传参、登陆状态、n秒内访问接口的次数;
  • (2)利用布隆过滤器,将数据库层有的数据key存储在位数组中,以判断访问的key在底
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值