/py-bloomfilter

bloomfilter in python

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

py-bloomfilter

bloomfilter written in python

you can also refer to java version

Test example

BitSet

from common.bloomfilter import BloomFilter
from bitset.bitset import BitSet
bloomfilter = BloomFilter(0.001, 10000, BitSet())
bloomfilter.add('123')
print(bloomfilter.contains('123'))
print(bloomfilter.contains('456'))

Test result:

True
False

RedisBitSet

from common.bloomfilter import BloomFilter
from bitset.redis_bitset import RedisBitSet
import redis
bloomfilter2 = BloomFilter(0.001, 10000, RedisBitSet('bloomfilter:key:name',
                                                     redis.Redis(host='127.0.0.1', port=6379, password='123456')))
bloomfilter2.add('123')
print(bloomfilter2.contains('123'))
print(bloomfilter2.contains('456'))

Test result:

True
False

Extension

In addition, you can extend any data structure you want to use.
All you need to do is inherit the function of BaseBitSet and override it.
Welcome to submit your extension code or put any question issues on github.

License

py-bloomfilter is released under the GNU Lesser General Public License v3.0.
You may copy this code directly into your project if you leave the LGPL-comment in place and reference the following hyperlink: https://github.com/wxisme/py-bloomfilter