Bloom布隆过滤器使用API(GO)

安装

go get -u github.com/bits-and-blooms/bloom/v3

API清单 

Constants 

This section is empty.

Variables 

This section is empty.

方法

func EstimateParameters(n uint, p float64) (m uint, k uint)

估计参数估计M和K的要求

func Locations 

func Locations(data []byte, k uint) []uint64

位置返回代表数据项的哈希位置列表。

类型 

type BloomFilter 

type BloomFilter struct {
	// contains filtered or unexported fields
}

Bloom过滤器是一组_n_项目的表示,其中主要要求是进行会员资格查询;_.e._,是否是集合的成员。

方法

func From 

func From(data []uint64, k uint) *BloomFilter

根据data的len(),和k的hash函数创建一个新的布隆过滤器。数据切片不会重置。

func New 

func New(m uint, k uint) *BloomFilter

创建一个新的Bloom过滤器

func NewWithEstimates 

func NewWithEstimates(n uint, fp float64) *BloomFilter

newwithesteStimates为大约n个项目创建了一个新的Bloom过滤器

func (*BloomFilter) Add 

func (f *BloomFilter) Add(data []byte) *BloomFilter

将数据添加到Bloom过滤器中。返回过滤器(允许链接)

func (*BloomFilter) AddString 

func (f *BloomFilter) AddString(data string) *BloomFilter

在Bloom过滤器上加字符串。返回过滤器(允许链接)

func (*BloomFilter) Cap 

func (f *BloomFilter) Cap() uint

CAP返回Bloom过滤器的容量_m_

func (*BloomFilter) ClearAll 

func (f *BloomFilter) ClearAll() *BloomFilter

ClearAll清除Bloom过滤器中的所有数据,删除所有密钥

func (*BloomFilter) Copy 

func (f *BloomFilter) Copy() *BloomFilter

复制创建了Bloom过滤器的副本。

func (*BloomFilter) Equal 

func (f *BloomFilter) Equal(g *BloomFilter) bool

对比两个Bloom过滤器

func (*BloomFilter) EstimateFalsePositiveRate 

func (f *BloomFilter) EstimateFalsePositiveRate(n uint) (fpRate float64)

估计有估计的回报,对于具有m位和k哈希函数估计的bloomfilter,存储n个条目时的误报率将是什么;进行100,000个测试。这是使用整数作为钥匙的经验测试。作为副作用,它清除了Bloomfilter。

func (*BloomFilter) GobDecode 

func (f *BloomFilter) GobDecode(data []byte) error

GobDecode实现了gob。 GobDecoder接口。

func (*BloomFilter) GobEncode 

func (f *BloomFilter) GobEncode() ([]byte, error)

GobEncode实现了gob。 GobEncoder接口。

func (*BloomFilter) K 

func (f *BloomFilter) K() uint

k返回bloomfilter中使用的哈希功能数量

func (*BloomFilter) MarshalJSON 

func (f *BloomFilter) MarshalJSON() ([]byte, error)

MarshalJSON实现json。 封送拆收器接口

func (*BloomFilter) Merge 

func (f *BloomFilter) Merge(g *BloomFilter) error

合并两个Bloom过滤器的数据。

func (*BloomFilter) ReadFrom 

func (f *BloomFilter) ReadFrom(stream io.Reader) (int64, error)

从I/O流中读取BloomFilter的二进制表示(例如Writeto())。它返回读取的字节数。

func (*BloomFilter) Test 

func (f *BloomFilter) Test(data []byte) bool

如果数据在BloomFilter中,则测试将返回true,否则为false。如果是真的,结果可能是假阳性。如果错误,则数据绝对不在集合中。

func (*BloomFilter) TestAndAdd 

func (f *BloomFilter) TestAndAdd(data []byte) bool

TestAndAdd等同于调用测试(数据),然后添加(数据)。返回测试结果。

func (*BloomFilter) TestAndAddString 

func (f *BloomFilter) TestAndAddString(data string) bool

TestAndDdsTring等同于调用测试(字符串),然后添加(String)。返回测试结果。

func (*BloomFilter) TestLocations 

func (f *BloomFilter) TestLocations(locs []uint64) bool

如果所有位置均设置在Bloomfilter中,则测试平移将返回true,否则为false。

func (*BloomFilter) TestString 

func (f *BloomFilter) TestString(data string) bool

如果字符串在bloomfilter中,则测试标准将返回true,否则为false。如果是真的,结果可能是假阳性。如果错误,则数据绝对不在集合中。

func (*BloomFilter) UnmarshalJSON 

func (f *BloomFilter) UnmarshalJSON(data []byte) error

UnmarshalJSON实现json。 Unmarshaler接口。

func (*BloomFilter) WriteTo 

func (f *BloomFilter) WriteTo(stream io.Writer) (int64, error)

Writeto将BloomFilter的二进制表示形式写入I/O流。它返回编写的字节数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值