发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

Java Bloom过滤器开源项目

2016-07-07 07:56
赞助商链接

这是一个Bloom算法过滤器的Java开源项目,Bloom算法能够判断某个key存在于缓存中的可能性,对于非常大量的分布式缓存系统,比如Cassandra缓存,查询一个key是否存在缓存中不能将所有主机都查一遍,使用Bloom算法就能大概知道这个key是否存在缓存中。

下载jar包放入classpath

创建一个bloom过滤器,参数两个:条目数和误差容忍度:
BloomFilter filter = new BloomFilter(1000, 0.01);

通过下面方式加入新条目:
int ip = addr.getIpAddress();
filter.add(ip);

然后你就可以检查这个条目是否已经加入:
if (filter.contains(ip)) {
throw new Exception("IP is blacklisted");
}

krisives/jbloomer: A Bloom Filter for Java

1

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com