Guava - 布隆过滤器的使用

时间:2022-07-23
本文章向大家介绍Guava - 布隆过滤器的使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

布隆过滤器简单介绍

  1. 布隆过滤器介绍

maven引入

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>18.0</version>
</dependency>

布隆过滤器的使用

BloomFilter<String> b = BloomFilter.create(Funnels.stringFunnel(Charset.forName("utf-8")), 1000, 0.000001);
b.put("121");
b.put("122");
b.put("123");
System.out.println(b.mightContain("12321"));
BloomFilter<String> b1 = BloomFilter.create(Funnels.stringFunnel(Charset.forName("utf-8")), 1000, 0.000001);
b1.put("aba");
b1.put("abb");
b1.put("abc");
b1.putAll(b);
System.out.println(b1.mightContain("123"));

参考及拓展

  1. Guava的布隆过滤器
  2. 布隆过滤器演示
  3. BloomFilter原理,实现及优化
  4. Redis 布隆过滤器实战「缓存击穿、雪崩效应」