Java中布隆过滤器的使用示例分享

欣喜 Java经验 发布时间:2024-01-18 16:52:05 阅读数:12293 1

布隆过滤器的使用实现思路

1.引入相关jar包
2.使用redis的Bitmap存储数据
3.检测数据是否存在
例:Java中使用布隆过滤器的示例

引入依赖包

<dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson</artifactId>
    <version>3.11.1</version>
</dependency>

/**
 * @author Java265.com
 */
@Test
public void test5() {
    Config config = new Config();
    config.useSingleServer().setAddress("redis://192.168.8.8:6379");
    RedissonClient cient = Redisson.create(config);
    RBloomFilter<String> bloomFilter = cient.getBloomFilter("test5-bloom-filter");
    // 初始化布隆过滤器,数组长度100W,误判率 1%
    bloomFilter.tryInit(1000000L, 0.01);
    // 添加数据
    bloomFilter.add("猫猫");
    // 判断是否存在
    System.out.println(bloomFilter.contains("java我最爱的技术"));
    System.out.println(bloomFilter.contains("猫猫"));
}

//运行以上代码,将输出以下信息

false   // 肯定不存在
true    // 可能存在,有1%的误判率
注意事项:
  误判率设置过小
   会产生更多次的 Hash 操作
    降低系统的性能
     我们的建议值是 1%
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202401/17055679547701.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者