Perl Bloom::Filter 模块使用分析

今天看了下当年云舒写的代码,发现一个很陌生的东西,基本上没见过。

gg了一下,了解了该模块是一个大数据处理的模块,简单的来说,该模块的作用是,

用于比较数据是否存在在已知列表中。对于我来说这模块甚至有点难以理解,对此搜索了下前人写的案例进行分析。

把代码整理了下,写了下注释方便以后翻查。

 

#!/usr/bin/perl
use Bloom::Filter;

# capacity:设置容器的大小
# error_rate:容错的数量
my $bf=Bloom::Filter->new(capacity => 10,error_rate => .001);

# 被对比的列表
my @keys=qw/a s d f g h j k l z/;

# 将元素加入到容器
$bf->add(@keys);

while(<>){
    chomp;
    # 判断元素是否在容器中
    print "Found $_\n" if $bf->check($_);
}
查看代码

 

posted @ 2013-06-02 16:28  墨迹哥's  阅读(207)  评论(0编辑  收藏  举报