> 文章列表 > 【redis】布隆过滤器BloomFitter

【redis】布隆过滤器BloomFitter

【redis】布隆过滤器BloomFitter

【redis】布隆过滤器BloomFitter


文章目录

  • 【redis】布隆过滤器BloomFitter
  • 前言
  • 一、面试题
  • 二、是什么
    • 1、设计思想: 本质就是判断具体数据是否存在于一个大的集合当中
  • 三、布隆过滤器特点
    • 1、重点 有,是可能有,无是一定无
    • 2、小总结
  • 四、原理
    • 1、原理
    • 2、添加、查询key
    • 3、hash碰撞导致数据不精准
    • 4、hash碰撞
    • 5、过滤器误判,为什么不删除?
    • 6、小总结
  • 五、使用场景
    • 1、解决缓存穿透
    • 2、黑名单校验,识别垃圾邮件
  • 六、尝试手写布隆过滤器,结合bitmap自研一下体会思想
    • 1、整体架构
    • 2、设计步骤
    • 3、java端 的插入 读取操作
      • 插入mysql+redis
      • 读取redis+mysql
      • 二进制数组构建过程 理论
      • 布隆过滤器初始化加载工具,即上一步的具体化操作
      • 检查性工具 检查是否在布隆过滤器中存在
      • 重新修改最开始的 读写操作
      • 测试说明
  • 七、布隆过滤器优缺点
    • 优点
    • 缺点
    • 布谷鸟过滤器(了解)

前言

【redis】布隆过滤器BloomFitter


一、面试题

【redis】布隆过滤器BloomFitter


二、是什么

【redis】布隆过滤器BloomFitter

1、设计思想: 本质就是判断具体数据是否存在于一个大的集合当中

【redis】布隆过滤器BloomFitter
【redis】布隆过滤器BloomFitter
【redis】布隆过滤器BloomFitter


三、布隆过滤器特点

【redis】布隆过滤器BloomFitter

1、重点 有,是可能有,无是一定无

【redis】布隆过滤器BloomFitter

2、小总结

【redis】布隆过滤器BloomFitter


四、原理

【redis】布隆过滤器BloomFitter

1、原理

【redis】布隆过滤器BloomFitter

2、添加、查询key

【redis】布隆过滤器BloomFitter

3、hash碰撞导致数据不精准

【redis】布隆过滤器BloomFitter
【redis】布隆过滤器BloomFitter

4、hash碰撞

【redis】布隆过滤器BloomFitter

5、过滤器误判,为什么不删除?

【redis】布隆过滤器BloomFitter

6、小总结

【redis】布隆过滤器BloomFitter


五、使用场景

【redis】布隆过滤器BloomFitter

1、解决缓存穿透

【redis】布隆过滤器BloomFitter
【redis】布隆过滤器BloomFitter

2、黑名单校验,识别垃圾邮件

【redis】布隆过滤器BloomFitter


六、尝试手写布隆过滤器,结合bitmap自研一下体会思想

【redis】布隆过滤器BloomFitter

1、整体架构

【redis】布隆过滤器BloomFitter

2、设计步骤

【redis】布隆过滤器BloomFitter

3、java端 的插入 读取操作

插入mysql+redis

【redis】布隆过滤器BloomFitter

读取redis+mysql

【redis】布隆过滤器BloomFitter

二进制数组构建过程 理论

【redis】布隆过滤器BloomFitter

布隆过滤器初始化加载工具,即上一步的具体化操作

【redis】布隆过滤器BloomFitter

检查性工具 检查是否在布隆过滤器中存在

【redis】布隆过滤器BloomFitter

重新修改最开始的 读写操作

读取时判断是否在 白名单中
【redis】布隆过滤器BloomFitter

测试说明

【redis】布隆过滤器BloomFitter


七、布隆过滤器优缺点

优点

【redis】布隆过滤器BloomFitter

缺点

【redis】布隆过滤器BloomFitter

布谷鸟过滤器(了解)

主流还是布隆过滤器,没有升级换代的需求。。。