filter

package
v0.0.0-...-8b03266 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Hash

func Hash(bys []byte) uint64

todo: 测试这样分片是否均匀,已测试,很均匀

Types

type Filter

type Filter interface {
	// Add a key to filter
	Add(key []byte) error

	// Check more keys is/not exist
	ExistMult(arr [][]byte) []bool

	// Check key is/not exist
	Exist(key []byte) (bool, error)

	// Add more key to filter
	AddMult(arr [][]byte) error

	// Save last point to server
	SaveLastPoint(pointK string, pointV string) error

	// get last point to server
	GetLastPoint(pointK string) ([]string, error)
}

Filter support add key , check key is/not exist

func NewBigFilter

func NewBigFilter(n int, m uint, fpRate float64, redisServerCluster []string, pass *string,
	name string, logger protocol.Logger) (
	Filter, error)

创建一个 bigFilter args: n 子过滤器个数,m 每个子过滤器容量,fpRate 过滤器误判概率

Jump to

Keyboard shortcuts

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