关于缓存穿透的问题

关于缓存穿透的问题

老师,看了视频中你讲的两种解决方案
对于只用第一种解决方案,我感觉用户请求一堆不存在的值,假如999-99999,此时在这边还是是设置一堆null值到redis中吗

只用第二种解决方案,我数据库删掉了一个值,此时布隆过滤器还没有换成新的,用户再来疯狂请求这个值,我感觉还是存在缓存穿透的情况

我感觉两种思路仿佛都有一些问题,是不是还要配合限流之类的操作,来防止过多的恶意请求

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

空值是绝对没有问题的,设置为空比如null字符窜,或者一个大括号都可以。你要加限流也行的

  • 想好名字再改 提问者 #1
    刚刚我想到的情况是这些不存在的数据,第一次请求还是会去数据库中查,此时如果查询的请求过多的话,对数据库应该还是会有压力的吧。老师,这种情况是不是还可以把两种解决方案组合在一起使用。项目初始化时加入一批已有的数据到布隆过滤器中,然后后续的操作删除时将数据置空之类的存储在缓存中~~
    2020-04-07 23:05:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师