Skip to content

xiaker/bloom-filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bloom Filter

install

composer require xiaker/bloom-filter

usage

...

use Xiaker\Bloom\Bucket\ModBucket;
use Xiaker\Bloom\Digest\BKDRDigest;
use Xiaker\Bloom\Digest\DEKDigest;
use Xiaker\Bloom\Digest\DJBDigest;
use Xiaker\Bloom\Digest\ELFDigest;
use Xiaker\Bloom\Digest\FNVDigest;
use Xiaker\Bloom\Digest\JSDigest;
use Xiaker\Bloom\Digest\PJWDigest;
use Xiaker\Bloom\Digest\SDBMDigest;
use Xiaker\Bloom\Filter;

$redis = new Redis();
$redis->connect('127.0.0.1');

$digests = [ // you can select several or all of them
    new BKDRDigest(),
    new DEKDigest(),
    new DJBDigest(),
    new ELFDigest(),
    new FNVDigest(),
    new JSDigest(),
    new PJWDigest(),
    new SDBMDigest(),
];

$filter = new Filter(new ModBucket(24), $redis, ...$digests);

$filter->add('fatrbaby');
...

if ($filter->exists('fatrbaby')) {
    ...
}

About

A bloom filter wrote by PHP & storaged by Redis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages