外观
一句话答案
位数组+多个哈希函数:可能存在(有误判)或一定不存在(无漏判),空间高效,用于缓存穿透/URL 去重。
核心要点
原理: 插入时 k 个哈希置 1;查询时全 1 可能存在,有 0 一定不存在
特点: 空间高效 / 有假阳性无假阴性 / 不支持删除
应用: 缓存穿透防护 / URL去重 / HBase避免无效读
追问与易错
追问方向:
- 布隆过滤器能删除吗?
- 误判率怎么控制?
- 和 HashSet 比优势?
易错点:
- ❌ 布隆过滤器 100% 准确——有假阳性
- ❌ 可以替代缓存——只能判断存在性
💡 记忆锚点
布隆过滤器 = 多重门卫核验:k个门卫(哈希函数)各查一张名单(bit位),全说"有"可能是误认(假阳性),只要一个说"没有"就肯定没有(零漏判)。用极少内存换"一定不存在"的确定性。