如何解决空数想据的缓存穿透?

3 天前
 ly901206

上周服务流量出现了一波高峰,db 查询流量从平时的 2k 左右增加到 1w 左右,看监控其中 4k 的查询结果都是 record not found ,我们服务使用了 local cache ,只缓存了能查询到的数据,目前自己能想到的优化方案有

  1. localcache 改造下,空数据也存起来
  2. 使用面试宝典解决这种问题的标准答案-布隆过滤器,使用 redis 自带的 redisbloom,将线上数据刷一遍进去,localcache 没命中的话,先查询下 redisbloom ,命中在查 db 。不过布隆过滤器我基本没在真实项目中见到过。

大家有什么方案推荐吗

1217 次点击
所在节点    数据库
21 条回复
zzmark06
1 天前
实际业务,一般是交由风控 ban 了客户 ip
至于穿透,硬干的多,水文方案没见几个落地的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1088569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX