文章目录
- 布隆过滤器
- 布隆过滤器原理
- 使用场景
- 利用Google开源的 Guava中自带的布隆过滤器
- Redis 中的布隆过滤器
- 使用Docker安装
- 命令
布隆过滤器
布隆过滤器是用于判断一个元素是否在集合中。通过一个位数组和N个hash函数实现。(某样东西一定不存在或者可能存在.)
- 优点:
- 空间效率高,所占空间小。
- 查询时间短。
- 自带去重
- 缺点:
- 元素添加到集合中后,不能被删除。
- 有一定的误判率
布谷鸟过滤器解决了布隆过滤器无法删除的问题
布隆过滤器原理
当一个元素加入布隆过滤器中的时候,会进行如下操作:
- 使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值(有几个哈希函数得到几个哈希值)。
- 根据得到的哈希值,在位数组中把对应下标的值置为 1。
当我们需要判断一个元素是否存在于布隆过滤器的时候,会进行如下操作: