4.1、原理
一个大型位数组和几个不同的均匀分布hash函数。用来判断某个数据是否存在
4.2、布隆过滤器误判率&为什么不建议删除key
因为布隆过滤器的每一个 bit 并不是独占的,很有可能多个元素共享了某一位
查询时,key-1的bit位可能被别的key置为1了
删除时,将key对应bit位置为0,可能导致其他映射到该位置的key也被删除
总结:布隆过滤器可以添加元素,但是不能删除元素。因为删掉元素会导致误判率增加
4.3、案例:手写布隆过滤器防止缓存穿透
过滤器只过滤读操作
过滤器业务流程
过滤器业务代码
拦截了不存在的用户请求,防止了用户查询相关的缓存穿透
布隆过滤器实现