码迷,mamicode.com
首页 > 其他好文 > 详细

redis实现布隆过滤器

时间:2021-01-15 11:53:50      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:lis   phone   def   pom   cti   分布   end   get   star   

1.分布式redis实现布隆过滤器
引入pom文件
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.13.4</version>
</dependency>


public static void main(String[] args) {
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
//构造Redisson
RedissonClient redisson = Redisson.create(config);
RBloomFilter<String> bloomFilter = redisson.getBloomFilter("phoneList");
//初始化布隆过滤器:预计元素为100000000L,误差率为3%
bloomFilter.tryInit(100000000L,0.03);
//将号码10086插入到布隆过滤器中
bloomFilter.add("10086");

//判断下面号码是否在布隆过滤器中
//输出false
System.out.println(bloomFilter.contains("123456"));
//输出true
System.out.println(bloomFilter.contains("10086"));
}
2.普通布隆过滤器
BLOOM_COUNT:预计数据总数
0.01:预计错误率

BloomFilter<String> filter = BloomFilter.create(Funnels.stringFunnel(Charset.defaultCharset()),BLOOM_COUNT,0.01)
主要以下两个方法
放入过滤器里面filter.put("aa");
判断过滤器里面有没有:bloomFilter.mightContain("aa")

redis实现布隆过滤器

标签:lis   phone   def   pom   cti   分布   end   get   star   

原文地址:https://www.cnblogs.com/java-cxh/p/14278337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!