关于java:34-布隆过滤器

10次阅读

共计 333 个字符,预计需要花费 1 分钟才能阅读完成。

什么是布隆过滤器

一种检测元素是否在给定大汇合中的数据结构。是一个位数组。元素只能是 1 或 0。性能好,但不容易删除,有肯定错误率,汇合越大错误率越高。

如何应用布隆过滤器

布隆过滤器有多个哈希函数,将元素放入过滤器时,用这几个哈希函数求元素 hash 值,而后将对应的地位为 1,。
检测元素是否存在时,用这几个哈希函数对元素求哈希值,而后检测对应的地位是否为 1。
因而布隆过滤器说某个元素存在,可能会误判,但说某个元素不在,那必定不在。

布隆过滤器利用场景

  1. 判断元素是否存在与海量数据集里 / 去重
  2. 防缓存穿透
    将数据制成布隆过滤器,如果缓存里没有申请数据,先看看布隆过滤器里是否有申请数据,如果没有就不必申请数据库间接返回,如果有能够先把数据放到缓存里,也不必申请数据库。
  3. 垃圾邮件过滤和黑名单
正文完
 0