Guava - 布隆过滤器的使用

2020-08-20 16:08:46 浏览数 (2)

布隆过滤器简单介绍

  1. 布隆过滤器介绍

maven引入

代码语言:javascript复制
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>18.0</version>
</dependency>

布隆过滤器的使用

代码语言:javascript复制
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 布隆过滤器实战「缓存击穿、雪崩效应」

0 人点赞