maxwilms/bloom-filter

Bloom filter - PHP 5.4+ 的空间高效概率数据结构

v0.9.5 2019-11-19 10:12 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:39:16 UTC


README

Build Status Quality Score

一个 Bloom filter 是一种概率数据结构,用于测试一个元素是否为集合的成员。它总是确认该元素是否为集合的成员。但可能存在误报。

何时使用 Bloom filter

当你需要快速确认某个值不存在于大型数据集中时,请使用此数据结构。例如,某个行不在你的数据库中(例如,IP 地址、用户名、电子邮件)。

安装

首先安装 composer

通过 composer 需求 bloom filter

composer require maxwilms/bloom-filter

现在你可以开始使用了!

用法

<?php

require_once('vendor/autoload.php');

use maxwilms\BloomFilter\BloomFilterGenerator;

// generate a bloom filter for 1000 elements with a probability of 1% for false positives
$bloomFilter = BloomFilterGenerator::generate(1000, 0.01); 

$bloomFilter->add('foo');
$bloomFilter->add('bar');
// ... add more

$bloomFilter->contains('foo'); // true - possibly in set
$bloomFilter->contains('baz'); // false - definitely not in set

待办事项

更多示例 :)