使用库pybloom_live
from pybloom_live import ScalableBloomFilter,BloomFilter
# 可自动伸缩的布隆过滤器
bloom = ScalableBloomFilter(initial_capacity=100,error_rate=0.001)
# 添加内容
bloom.add('daqi')
print('daqi'in bloom)
# 定长的布隆过滤器
bloom1 = BloomFilter(capacity=10000)
bloom1.add('daqi')
print('daqi'in bloom1)
手动实现一个简单的布隆过滤器
使用bitarray实现,将初始数组置为0,根据hash计算出节点置为1,同时写了一个生成随机码的函数用于测试。
import random
import mmh3
from bitarray import bitarray
import os.path
import re
# bitarray长度
BIT_SIZE = 50000
class BloomFilter():
def __init__(self):
bit_array = bitarray(

本文深入探讨了布隆过滤器的原理与应用,通过pybloom_live库与自定义实现对比,展示了如何高效处理大数据集的成员判断问题,降低内存消耗。
最低0.47元/天 解锁文章
413

被折叠的 条评论
为什么被折叠?



