Skip to content

miaoyc666/bloomfilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BloomFilter

简介

布隆过滤器(Bloom Filter)更适合用于黑名单场景,但具体适用性需结合其特性分析。以下是详细说明: 布隆过滤器的核心特性 空间高效:用极小的内存存储大量数据。

概率型结构:

  • 假阳性(False Positive):可能误判“不存在”的元素为“存在”。
  • 无假阴性(False Negative):若元素存在,则必然返回“存在”。
  • 不可删除:标准布隆过滤器不支持删除操作(需用变体如计数布隆过滤器)。

白名单 vs 黑名单的适用性

场景 布隆过滤器的表现 适用性
黑名单 若元素被误判为“存在”(即在黑名单中),会导致合法请求被拒绝(假阳性)。 更合适
白名单 若元素被误判为“存在”(即在白名单中),会导致非法请求被放行(假阳性)。 风险较高

实现思路

  • 使用bitarray存储位数据
  • 使用MurmurHash算法进行哈希计算

相关资料

https://pypi.org/project/mmh3/
https://pypi.org/project/bitarray/

依赖

python3-devel

About

BloomFilter, 布隆过滤器

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages