布隆过滤器原理以及java/redis使用
文章目录
- 布隆过滤器
- 布隆过滤器原理
- 使用场景
- 利用Google开源的 Guava中自带的布隆过滤器
- Redis 中的布隆过滤器
- 使用Docker安装
- 命令
布隆过滤器
布隆过滤器是用于判断一个元素是否在集合中。通过一个位数组和N个hash函数实现。(某样东西一定不存在或者可能存在.)
- 优点:
- 空间效率高,所占空间小。
- 查询时间短。
- 自带去重
- 缺点:
- 元素添加到集合中后,不能被删除。
- 有一定的误判率
布谷鸟过滤器解决了布隆过滤器无法删除的问题
布隆过滤器原理
当一个元素加入布隆过滤器中的时候,会进行如下操作:
- 使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值(有几个哈希函数得到几个哈希值)。
- 根据得到的哈希值,在位数组中把对应下标的值置为 1。
当我们需要判断一个元素是否存在于布隆过滤器的时候,会进行如下操作:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
