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