短链接面试

yin_bo_ Lv3

讲解一下“空值缓存 + 布隆过滤器 + Redisson 分布式锁”怎么实现的

  • 如果一个高访问量的短链接缓存突然过期造成缓存击穿了,就可以通过Redisson 分布式锁来将其锁住添加缓存,防止大量请求打入数据库,等添加缓存之后释放锁,让请求访问缓存。

  • 如果大量用户访问数据库不存在的短链接,就会造成缓存穿透,

    • 单空值缓存策略如果空值缓存过多,就会占用过多内存。
    • 单布隆过滤器存在误判,仍然访问数据库
    • 单分布式锁的性能又太低,降低并发。
  • 而我们这个项目使用三合一的方式,先判断是否有空值缓存,若无则判断布隆过滤器是否存在该短链的key,若不存在则写空值缓存,若存在或误判再使用分布式锁访问数据库并写入缓存。

  • 标题: 短链接面试
  • 作者: yin_bo_
  • 创建于 : 2026-03-08 15:04:04
  • 更新于 : 2026-03-23 21:55:05
  • 链接: https://www.blog.yinbo.xyz/2026/03/08/面试题/短链接面试/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
短链接面试