xbloom

package
v1.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package xbloom 提供了一个高效的布隆过滤器实现 布隆过滤器是一种空间高效的概率数据结构,用于测试元素是否在集合中 它可能产生假阳性(说存在但实际不存在),但不会产生假阴性(说不存在但实际存在)

Index

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) Add

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

Add 向布隆过滤器中添加元素 参数 data: 要添加的元素数据

func (*BloomFilter) Clear

func (bf *BloomFilter) Clear()

Clear 清空布隆过滤器,将所有位设置为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 将布隆过滤器序列化为字节数组 返回值: 序列化后的字节数据和错误信息

func (*BloomFilter) Size

func (bf *BloomFilter) Size() uint64

Size 返回布隆过滤器的位数组大小 返回值: 位数组的总位数

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL