Documentation
¶
Index ¶
Constants ¶
View Source
const RedisMaxLength = 8 * 512 * 1024 * 1024
Variables ¶
View Source
var ( ErrGreaterFalseProbability = errors.New("filter false probability can't be greater than 1") ErrNegativeFalseProbability = errors.New("filter false probability can't be negative") ErrSizeZero = errors.New("filter calculated size is zero") ErrSizeTooBig = fmt.Errorf("filter calculated size is greater than %d", RedisMaxLength) ErrNotInit = errors.New("filter is not init") ErrConfigUnequal = errors.New("filter config unequal") )
Functions ¶
Types ¶
type GBloomFilter ¶
type GBloomFilter struct {
// contains filtered or unexported fields
}
func NewGBloomFilter ¶
func NewGBloomFilter(redisOper RedisBloomFilterOperate, opts ...Option) GBloomFilter
func (*GBloomFilter) GetGFilter ¶
func (g *GBloomFilter) GetGFilter(key string) *GFilter
GetGFilter GFilter, 获取key的布隆过滤器实例GFilter
type GBloomFilterOptions ¶
type GBloomFilterOptions struct {
// contains filtered or unexported fields
}
type Option ¶
type Option func(opts *GBloomFilterOptions)
func WithCheckConfig ¶
func WithCheckConfig() Option
func WithHashfunc ¶
func WithLogger ¶
func WithLogger(logger log.FieldsLogger) Option
func WithPrefix ¶
func WithUnPrefix ¶
func WithUnPrefix() Option
type RedisBloomFilterOperate ¶
type RedisBloomFilterOperate interface {
HMGet(keys ...interface{}) (map[string]string, error)
HMSet(kvs ...interface{}) error
SetBit(key string, offset uint64, value int) error
GetBit(key string, offset uint64) (int64, error)
Expire(key string, second time.Duration) (int64, error)
Del(key string) error
}
Click to show internal directories.
Click to hide internal directories.