安装
go get -u github.com/bits-and-blooms/bloom/v3
API清单
- func EstimateParameters(n uint, p float64) (m uint, k uint)
- func Locations(data []byte, k uint) []uint64
- type BloomFilter
-
- func (f *BloomFilter) Add(data []byte) *BloomFilter
- func (f *BloomFilter) AddString(data string) *BloomFilter
- func (f *BloomFilter) Cap() uint
- func (f *BloomFilter) ClearAll() *BloomFilter
- func (f *BloomFilter) Copy() *BloomFilter
- func (f *BloomFilter) Equal(g *BloomFilter) bool
- func (f *BloomFilter) EstimateFalsePositiveRate(n uint) (fpRate float64)
- func (f *BloomFilter) GobDecode(data []byte) error
- func (f *BloomFilter) GobEncode() ([]byte, error)
- func (f *BloomFilter) K() uint
- func (f *BloomFilter) MarshalJSON() ([]byte, error)
- func (f *BloomFilter) Merge(g *BloomFilter) error
- func (f *BloomFilter) ReadFrom(stream io.Reader) (int64, error)
- func (f *BloomFilter) Test(data []byte) bool
- func (f *BloomFilter) TestAndAdd(data []byte) bool
- func (f *BloomFilter) TestAndAddString(data string) bool
- func (f *BloomFilter) TestLocations(locs []uint64) bool
- func (f *BloomFilter) TestString(data string) bool
- func (f *BloomFilter) UnmarshalJSON(data []byte) error
- func (f *BloomFilter) WriteTo(stream io.Writer) (int64, error)
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流。它返回编写的字节数。