可移植的跨语言Bloom FITLE实现,具有Java和GO中的兼容库
inbloom的Python项目详细描述
软件包inbloom实现了一个可导出和 在同一个库的不同实现之间导入数据 语言。
这个实现是一个包装libbloom的c扩展 (https://github.com/jvirkki/libbloom)
安装
pip install inbloom
用法
importinbloombf=inbloom.Filter(entries=100,error=0.01)bf.add("abc")bf.add("def")assertbf.contains("abc")assertbf.contains("def")assertnotbf.contains("ghi")bf2=inbloom.Filter(entries=100,error=0.01,data=bf.buffer())assertbf2.contains("abc")assertbf2.contains("def")assertnotbf2.contains("ghi")
序列化
importinbloomimportbinasciipayload='620d006400000014000000000020001000080000000000002000100008000400'assertbinascii.hexlify(inbloom.dump(inbloom.load(binascii.unhexlify(payload))))==payload