开发者社区> 问答> 正文

有什么方法可以解决缓存穿透?

有什么方法可以解决缓存穿透?

展开
收起
小黄鸭哈哈哈 2021-10-20 13:34:54 410 0
1 条回答
写回答
取消 提交回答
  • 接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;

    从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间可以设置短点,如30秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个id暴力攻击

    采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对底层存储系统的查询压力

    2021-10-20 13:35:14
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载