布隆过滤器的原理及应用场景

布隆过滤器的原理及应用场景

布隆过滤器底层

3. 应用场景

布隆过滤器适用于大数据量,但又能允许一定程度的误差,这样的场景。例如:

  • 爬虫url判断重复
    将要爬一个url时,用布隆过滤器判断是否存在,不存在则放入,存在则不处理。误判就是此url没爬过,但布隆过滤器说爬过了,那么爬虫过程中会缺失一些url,这个不影响。

  • 缓存穿透
    通过布隆过滤器将所有数据都放入比特数组。当有请求过来,如果请求的是存在的数据,那么肯定会放行;如果是不存在的数据,可能会被挡住,小概率可能被放行。那么,大部分的恶意请求就能被挡下来。

4. 布隆过滤器的Java实现

Guava包中提供了BloomFilter的实现。

import com.google.common.base.Charsets;
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels;

public class BloomFilterTest {

    public static void main(String[] args) {
        BloomFilter<CharSequence> bloomFilter = BloomFilter.create(Funnels.stringFunnel(Charsets.UTF_8), 200000, 1E-7);
                
        bloomFilter.put("test");
        
        boolean contain = bloomFilter.mightContain("test");
        
        if (contain)
            System.out.println("contain test");
    }

}

文章均来自互联网如有不妥请联系作者删除QQ:314111741 地址:http://www.mqs.net/post/14281.html

相关阅读

  • R语言dplyr包处理数据2021.3.6

    R语言dplyr包处理数据2021.3.6

    图1 筛选结果 2.2 去除重复行–distinct函数 dplyr::distinct(rbind(iris[1:10,],iris[1:20,]))#取出前10行和前20行合并后去除重复行 图2 去除结果...

    2025.12.09 05:35:02作者:iseeyu
  • 产品推广的方式有哪些(79种推广方式总有一种适合你)

    产品推广的方式有哪些(79种推广方式总有一种适合你)

    产品的推广是企业的一个重要环节。产品的推广,不仅是让消费者了解产品,而且还能够让企业在网络上获取更多品牌影响力。只有做好了产品推广,才能够让企业在品牌建设中取得更大的成就。那么产品推广应该怎么做?不同的产品使用不同推广法。但任何一...

    2025.12.09 02:51:31作者:iseeyuTags:推广
  • 淘宝怎么运营推广(中小卖家必学的操作思路)

    淘宝怎么运营推广(中小卖家必学的操作思路)

    淘宝在很长一段时间内,一直被认为是中国最大的电子商务平台。人们在这里购物,与在别处购物一样,会感觉到很便捷、很实惠。因此,随着电商行业的发展。如今,淘宝网站的活跃用户数已经超过了1亿人(目前该数据仅统计了部分用户)。而作为一个淘宝...

    2025.12.09 01:56:09作者:iseeyuTags:运营

添加新评论