rocket-labs/bloom-filter 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rocket-labs/bloom-filter

最新稳定版本:20170331

Composer 安装命令:

composer require rocket-labs/bloom-filter

包简介

Implementation of bloom filter

README 文档

README

Php 8 support is experimental.

PHP Bloom Filter

A Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set (False positive matches are possible, but false negatives are not).

<?php

use \RocketLabs\BloomFilter\Persist\Redis;
use \RocketLabs\BloomFilter\BloomFilter;
use \RocketLabs\BloomFilter\Hash\Murmur;
use \RocketLabs\BloomFilter\Persist\BitString;

$setToStore = [
    'Test string 1',
    'Test string 2',
    'Test string 3',
    'Test string 4',
    'Test string 5',
];

$redisParams = [
    'host' => 'localhost',
    'port' => 6379,
    'db' => 0,
    'key' => 'bloom_filter',
];
$persisterRedis = Redis::create($redisParams);
$persisterInRam = new BitString();

$filter = new BloomFilter($persisterRedis, new Murmur());
$filter->setSize(count($setToStore));

foreach ($setToStore as $string) {
    $filter->add($string);
}

if ($filter->has('Test string 1')) {
    echo 'Possibly in set"' . PHP_EOL;
} else {
    echo 'Definitely not in set' . PHP_EOL;
}

统计信息

  • 总下载量: 121.12k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 19
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 19
  • Watchers: 37
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2017-05-11