布隆过滤器原理以及java/redis使用

文章目录

  • 布隆过滤器
    • 布隆过滤器原理
    • 使用场景
  • 利用Google开源的 Guava中自带的布隆过滤器
  • Redis 中的布隆过滤器
    • 使用Docker安装
    • 命令

布隆过滤器

布隆过滤器是用于判断一个元素是否在集合中。通过一个位数组和N个hash函数实现。(某样东西一定不存在或者可能存在.)

  • 优点:
    • 空间效率高,所占空间小。
    • 查询时间短。
    • 自带去重
  • 缺点:
    • 元素添加到集合中后,不能被删除。
    • 有一定的误判率

布谷鸟过滤器解决了布隆过滤器无法删除的问题

布隆过滤器原理

当一个元素加入布隆过滤器中的时候,会进行如下操作:

  1. 使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值(有几个哈希函数得到几个哈希值)。
  2. 根据得到的哈希值,在位数组中把对应下标的值置为 1。

当我们需要判断一个元素是否存在于布隆过滤器的时候,会进行如下操作:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部