Documentation
¶
Overview ¶
Package xbloom 提供了一个高效的布隆过滤器实现 布隆过滤器是一种空间高效的概率数据结构,用于测试元素是否在集合中 它可能产生假阳性(说存在但实际不存在),但不会产生假阴性(说不存在但实际存在)
Index ¶
- type BloomFilter
- func (bf *BloomFilter) Add(data []byte)
- func (bf *BloomFilter) Clear()
- func (bf *BloomFilter) Contains(data []byte) bool
- func (bf *BloomFilter) EstimatedFalsePositiveRate() float64
- func (bf *BloomFilter) HashFunctions() uint64
- func (bf *BloomFilter) Serialize() ([]byte, error)
- func (bf *BloomFilter) Size() uint64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BloomFilter ¶
type BloomFilter struct {
// contains filtered or unexported fields
}
BloomFilter 布隆过滤器结构体 使用字节数组存储位信息,相比布尔数组节省87.5%内存
func Deserialize ¶
func Deserialize(data []byte) (*BloomFilter, error)
Deserialize 从字节数组中反序列化布隆过滤器 参数 data: 序列化的字节数据 返回值: 布隆过滤器指针和错误信息
func New ¶
func New(expectedItems uint64, falsePositiveRate float64) *BloomFilter
New 创建一个新的布隆过滤器 参数 expectedItems: 预期要插入的元素数量 参数 falsePositiveRate: 期望的假阳性率(0.0-1.0之间) 返回值: 布隆过滤器指针
func (*BloomFilter) Contains ¶
func (bf *BloomFilter) Contains(data []byte) bool
Contains 检查元素是否可能存在于布隆过滤器中 返回 false 表示元素绝对不存在,返回 true 表示元素可能存在 参数 data: 要检查的元素数据 返回值: 元素是否可能存在
func (*BloomFilter) EstimatedFalsePositiveRate ¶
func (bf *BloomFilter) EstimatedFalsePositiveRate() float64
EstimatedFalsePositiveRate 估算当前的假阳性率 根据当前已设置的位数计算假阳性率 返回值: 估算的假阳性率 (0.0-1.0)
func (*BloomFilter) HashFunctions ¶
func (bf *BloomFilter) HashFunctions() uint64
HashFunctions 返回布隆过滤器使用的哈希函数数量 返回值: 哈希函数数量
func (*BloomFilter) Serialize ¶
func (bf *BloomFilter) Serialize() ([]byte, error)
Serialize 将布隆过滤器序列化为字节数组 返回值: 序列化后的字节数据和错误信息
Click to show internal directories.
Click to hide internal directories.