Documentation
¶
Index ¶
- Variables
- func ExpAtTime(TimeRange string) time.Time
- func WithOptions(opts *Options) optparams.Option[Options]
- type BloomFilter
- func (s *BloomFilter) Add(ctx context.Context, RefreshTTL bool, elements ...string) error
- func (s *BloomFilter) CheckIn(ctx context.Context, candidates ...string) (map[string]bool, error)
- func (s *BloomFilter) Clean(ctx context.Context) error
- func (s *BloomFilter) Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
- func (s *BloomFilter) CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, ...) error
- func (s *BloomFilter) PipeCheckIn(pipe redis.Pipeliner, ctx context.Context, candidates ...string) (BoolMapPromise, error)
- func (s *BloomFilter) PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, ...) error
- func (s *BloomFilter) PipeStatus(pipe redis.Pipeliner, ctx context.Context) FilterStatusPromise
- func (s *BloomFilter) Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
- type BloomFilterStatusPromise
- type BoolMapPromise
- type CuckooFilter
- func (s *CuckooFilter) Add(ctx context.Context, RefreshTTL bool, elements ...string) error
- func (s *CuckooFilter) CheckIn(ctx context.Context, candidates ...string) (map[string]bool, error)
- func (s *CuckooFilter) Clean(ctx context.Context) error
- func (s *CuckooFilter) Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
- func (s *CuckooFilter) CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, ...) error
- func (s *CuckooFilter) PipeCheckIn(pipe redis.Pipeliner, ctx context.Context, candidates ...string) (BoolMapPromise, error)
- func (s *CuckooFilter) PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, ...) error
- func (s *CuckooFilter) PipeStatus(pipe redis.Pipeliner, ctx context.Context) FilterStatusPromise
- func (s *CuckooFilter) Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
- type CuckooFilterStatusPromise
- type Filter
- type FilterPromise
- type FilterStatusPromise
- type FilterStore
- type Options
- type RedisFilterStore
- func (s *RedisFilterStore) AddRangeSource(rangeid string, Content ...string) error
- func (s *RedisFilterStore) BlacklistKey(blacklistid string) string
- func (s *RedisFilterStore) BlacklistStatus(blacklistid string) (*itemfilterRPC_pb.RedisFilterStatus, error)
- func (s *RedisFilterStore) CheckEntitySource(Condition *itemfilterRPC_pb.Condition, Candidates ...string) (CandidateStatus map[string]bool, err error)
- func (s *RedisFilterStore) CheckSourceInBlacklist(blacklistid string, Candidates ...string) (CandidateStatus map[string]bool, err error)
- func (s *RedisFilterStore) CheckSourceInRange(rangeid string, Candidates ...string) (CandidateStatus map[string]bool, err error)
- func (s *RedisFilterStore) ContextKey(EntitySourceType, ContextID string) string
- func (s *RedisFilterStore) ContextKeyTemplate() string
- func (s *RedisFilterStore) ContextStatus(EntitySourceType, ContextID string) (*itemfilterRPC_pb.RedisFilterStatus, error)
- func (s *RedisFilterStore) DeleteBlacklist(blacklistid string) error
- func (s *RedisFilterStore) DeleteRange(rangeid string) error
- func (s *RedisFilterStore) FilterEntitySource(Condition *itemfilterRPC_pb.Condition, Need, chunkSize int32, ...) (Survivor []string, err error)
- func (s *RedisFilterStore) FilterSourceInBlacklist(blacklistid string, Need, chunkSize int32, Candidates ...string) (Survivor []string, err error)
- func (s *RedisFilterStore) FilterSourceNotInRange(rangeid string, Need, chunkSize int32, Candidates ...string) (Survivor []string, err error)
- func (s *RedisFilterStore) GetPickerCounterNumber(Days, Offset int32, mod itemfilterRPC_pb.UnionMod, Ranges ...string) (map[string]int64, error)
- func (s *RedisFilterStore) Init(opts ...optparams.Option[Options]) error
- func (s *RedisFilterStore) NewBlacklist(blacklistid string, setting *itemfilterRPC_pb.RedisFilterSetting, ...) error
- func (s *RedisFilterStore) NewContext(EntitySourceType, ContextID string, ...) error
- func (s *RedisFilterStore) NewPicker(EntitySourceType, PickerID string, ...) error
- func (s *RedisFilterStore) NewRange(rangeid string, setting *itemfilterRPC_pb.RedisFilterSetting, ...) error
- func (s *RedisFilterStore) PickerCounterKey(Date time.Time) string
- func (s *RedisFilterStore) PickerCounterKeyTemplate() string
- func (s *RedisFilterStore) PickerKey(EntitySourceType, PickerInterval, PickerID string) string
- func (s *RedisFilterStore) PickerKeyTemplate() string
- func (s *RedisFilterStore) PickerStatus(EntitySourceType, PickerID string) (map[string]*itemfilterRPC_pb.RedisFilterStatus, error)
- func (s *RedisFilterStore) RangeKey(rangeid string) string
- func (s *RedisFilterStore) RangePickerCounterKey(Date time.Time, RID string) string
- func (s *RedisFilterStore) RangePickerCounterKeyTemplate() string
- func (s *RedisFilterStore) RangeStatus(rangeid string) (*itemfilterRPC_pb.RedisFilterStatus, error)
- func (s *RedisFilterStore) SetEntitySourceUsed(in *itemfilterRPC_pb.SetSourceUsedQuery) error
- func (s *RedisFilterStore) UpdateBlacklistSource(blacklistid string, Content ...string) error
- type SetBoolMapPlacehold
- type SetFilter
- func (s *SetFilter) Add(ctx context.Context, RefreshTTL bool, elements ...string) error
- func (s *SetFilter) CheckIn(ctx context.Context, candidates ...string) (map[string]bool, error)
- func (s *SetFilter) Clean(ctx context.Context) error
- func (s *SetFilter) Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
- func (s *SetFilter) CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, ...) error
- func (s *SetFilter) PipeCheckIn(pipe redis.Pipeliner, ctx context.Context, candidates ...string) (BoolMapPromise, error)
- func (s *SetFilter) PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, ...) error
- func (s *SetFilter) PipeStatus(pipe redis.Pipeliner, ctx context.Context) FilterStatusPromise
- func (s *SetFilter) Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
- type SetFilterStatusPromise
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultOpts = Options{ RedisURL: "redis://localhost:6379/0", RedisRouteMod: "", ConnTimeout: 50, NamespaceBase: "itemfilter", BlacklistConfig_KeySubnamespace: "BID", RangeConfig_KeySubnamespace: "RID", NamespaceConfig_EntitySourceTypeSubnamespace: "EST", ContextConfig_KeySubnamespace: "CID", NamespaceConfig_PickerIntervalSubnamespace: "PI", NamespaceConfig_PickerSubnamespace: "PID", NamespaceConfig_PickerCounterSubnamespace: "PC", NamespaceConfig_PickerCounterDateSubnamespace: "PCD", PickerCounterOn: false, PickerCounterConfig_TTLDays: 7, PickerCounterConfig_RangeCounterOn: false, PickerCounterConfig_RangeTTLDays: 7, }
View Source
var ErrDateOversize = errors.New("DateOversize")
View Source
var ErrFeatureNotOn = errors.New("FeatureNotOn")
View Source
var ErrFilterSettingNotMatchFilterType = errors.New("FilterSettingNotMatchFilterType")
View Source
var ErrKeyNotExist = errors.New("KeyNotExist")
View Source
var ErrKeyNotFilter = errors.New("KeyNotFilter")
View Source
var ErrNeedAtLeastOneEnvInfo = errors.New("NeedAtLeastOneEnvInfo")
View Source
var ErrNotImplemented = errors.New("NotImplemented")
View Source
var ErrRangeNotExist = errors.New("RangeNotExist")
Functions ¶
Types ¶
type BloomFilter ¶
type BloomFilter struct {
// contains filtered or unexported fields
}
func NewBloomFilter ¶
func NewBloomFilter(client redis.UniversalClient, key string, setttl time.Duration) (*BloomFilter, error)
func (*BloomFilter) Create ¶
func (s *BloomFilter) Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
func (*BloomFilter) CreateAndAdd ¶
func (s *BloomFilter) CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, elements ...string) error
func (*BloomFilter) PipeCheckIn ¶
func (s *BloomFilter) PipeCheckIn(pipe redis.Pipeliner, ctx context.Context, candidates ...string) (BoolMapPromise, error)
func (*BloomFilter) PipeCreateAndAdd ¶
func (s *BloomFilter) PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, expat string, elements ...string) error
func (*BloomFilter) PipeStatus ¶
func (s *BloomFilter) PipeStatus(pipe redis.Pipeliner, ctx context.Context) FilterStatusPromise
func (*BloomFilter) Status ¶
func (s *BloomFilter) Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
type BloomFilterStatusPromise ¶
type BloomFilterStatusPromise struct {
// contains filtered or unexported fields
}
func (*BloomFilterStatusPromise) Result ¶
func (p *BloomFilterStatusPromise) Result() (*itemfilterRPC_pb.RedisFilterStatus, error)
type BoolMapPromise ¶
type CuckooFilter ¶
type CuckooFilter struct {
// contains filtered or unexported fields
}
func NewCuckooFilter ¶
func NewCuckooFilter(client redis.UniversalClient, key string, setttl time.Duration) (*CuckooFilter, error)
func (*CuckooFilter) Create ¶
func (s *CuckooFilter) Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
func (*CuckooFilter) CreateAndAdd ¶
func (s *CuckooFilter) CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, elements ...string) error
func (*CuckooFilter) PipeCheckIn ¶
func (s *CuckooFilter) PipeCheckIn(pipe redis.Pipeliner, ctx context.Context, candidates ...string) (BoolMapPromise, error)
func (*CuckooFilter) PipeCreateAndAdd ¶
func (s *CuckooFilter) PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, expat string, elements ...string) error
func (*CuckooFilter) PipeStatus ¶
func (s *CuckooFilter) PipeStatus(pipe redis.Pipeliner, ctx context.Context) FilterStatusPromise
func (*CuckooFilter) Status ¶
func (s *CuckooFilter) Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
type CuckooFilterStatusPromise ¶
type CuckooFilterStatusPromise struct {
// contains filtered or unexported fields
}
func (*CuckooFilterStatusPromise) Result ¶
func (p *CuckooFilterStatusPromise) Result() (*itemfilterRPC_pb.RedisFilterStatus, error)
type Filter ¶
type Filter interface {
Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
Add(ctx context.Context, RefreshTTL bool, elements ...string) error
CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, elements ...string) error
Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
CheckIn(ctx context.Context, candidates ...string) (map[string]bool, error)
Clean(ctx context.Context) error
PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, expat string, elements ...string) error
PipeCheckIn(pipe redis.Pipeliner, ctx context.Context, candidates ...string) (BoolMapPromise, error)
PipeStatus(pipe redis.Pipeliner, ctx context.Context) FilterStatusPromise
}
type FilterPromise ¶
type FilterPromise struct {
Defaultsetting *itemfilterRPC_pb.RedisFilterSetting
Expat string
// contains filtered or unexported fields
}
func (*FilterPromise) Result ¶
func (p *FilterPromise) Result(client redis.UniversalClient) (Filter, error)
type FilterStatusPromise ¶
type FilterStatusPromise interface {
Result() (*itemfilterRPC_pb.RedisFilterStatus, error)
}
type FilterStore ¶
type FilterStore interface {
Init(opts ...optparams.Option[Options]) error
//黑名单
BlacklistKey(blacklistid string) string
NewBlacklist(blacklistid string, setting *itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
BlacklistStatus(blacklistid string) (*itemfilterRPC_pb.RedisFilterStatus, error)
DeleteBlacklist(id string) error
UpdateBlacklistSource(id string, Content ...string) error
CheckSourceInBlacklist(id string, Candidates ...string) (CandidateStatus map[string]bool, err error)
FilterSourceInBlacklist(id string, Need, ChunkSize int32, Candidates ...string) (Survivor []string, err error)
//range
RangeKey(rangeid string) string
NewRange(rangeid string, setting *itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
RangeStatus(rangeid string) (*itemfilterRPC_pb.RedisFilterStatus, error)
DeleteRange(id string) error
AddRangeSource(id string, Content ...string) error
CheckSourceInRange(id string, Candidates ...string) (CandidateStatus map[string]bool, err error)
FilterSourceNotInRange(id string, Need, ChunkSize int32, Candidates ...string) (Survivor []string, err error)
//context
ContextKeyTemplate() string
ContextKey(EntitySourceType, ContextID string) string
NewContext(EntitySourceType, ContextID string, setting *itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
ContextStatus(EntitySourceType, ContextID string) (*itemfilterRPC_pb.RedisFilterStatus, error)
//picker
PickerKeyTemplate() string
PickerKey(EntitySourceType, PickerInterval, PickerID string) string
NewPicker(EntitySourceType, PickerID string, settings map[string]*itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
PickerStatus(EntitySourceType, PickerID string) (map[string]*itemfilterRPC_pb.RedisFilterStatus, error)
//opra
SetEntitySourceUsed(*itemfilterRPC_pb.SetSourceUsedQuery) error
CheckEntitySource(Condition *itemfilterRPC_pb.Condition, Candidates ...string) (CandidateStatus map[string]bool, err error)
FilterEntitySource(Condition *itemfilterRPC_pb.Condition, Need, ChunkSize int32, Candidates ...string) (Survivor []string, err error)
//pickercounter
PickerCounterKeyTemplate() string
PickerCounterKey(Date time.Time) string
RangePickerCounterKeyTemplate() string
RangePickerCounterKey(Date time.Time, RID string) string
GetPickerCounterNumber(Days, Offset int32, mod itemfilterRPC_pb.UnionMod, Ranges ...string) (map[string]int64, error)
}
type Options ¶
type Options struct {
RedisURL string
RedisRouteMod string
ConnTimeout int
NamespaceBase string
BlacklistConfig_KeySubnamespace string
BlacklistConfig_DefaultTTLDays int
RangeConfig_KeySubnamespace string
RangeConfig_FilterType string
NamespaceConfig_EntitySourceTypeSubnamespace string
ContextConfig_KeySubnamespace string
NamespaceConfig_PickerIntervalSubnamespace string
NamespaceConfig_PickerSubnamespace string
NamespaceConfig_PickerCounterSubnamespace string
NamespaceConfig_PickerCounterDateSubnamespace string
PickerCounterOn bool
PickerCounterConfig_TTLDays int
PickerCounterConfig_RangeCounterOn bool
PickerCounterConfig_RangeTTLDays int
DefaultBlacklistFilterInfo *itemfilterRPC_pb.SetFilterSetting
DefaultRangeFilterInfo *itemfilterRPC_pb.RedisFilterSetting
DefaultContextFilterInfo *itemfilterRPC_pb.RedisFilterSetting
DefaultPickerFilterInfos map[string]*itemfilterRPC_pb.RedisFilterSetting
}
Option 设置key行为的选项
type RedisFilterStore ¶
type RedisFilterStore struct {
Opts Options
// contains filtered or unexported fields
}
func NewRedisFilterStore ¶
func NewRedisFilterStore() *RedisFilterStore
func (*RedisFilterStore) AddRangeSource ¶
func (s *RedisFilterStore) AddRangeSource(rangeid string, Content ...string) error
func (*RedisFilterStore) BlacklistKey ¶
func (s *RedisFilterStore) BlacklistKey(blacklistid string) string
黑名单
func (*RedisFilterStore) BlacklistStatus ¶
func (s *RedisFilterStore) BlacklistStatus(blacklistid string) (*itemfilterRPC_pb.RedisFilterStatus, error)
func (*RedisFilterStore) CheckEntitySource ¶
func (s *RedisFilterStore) CheckEntitySource(Condition *itemfilterRPC_pb.Condition, Candidates ...string) (CandidateStatus map[string]bool, err error)
CheckEntitySource 如果range不存在则报错,其他条件如果不存在则跳过校验
func (*RedisFilterStore) CheckSourceInBlacklist ¶
func (*RedisFilterStore) CheckSourceInRange ¶
func (*RedisFilterStore) ContextKey ¶
func (s *RedisFilterStore) ContextKey(EntitySourceType, ContextID string) string
func (*RedisFilterStore) ContextKeyTemplate ¶
func (s *RedisFilterStore) ContextKeyTemplate() string
context
func (*RedisFilterStore) ContextStatus ¶
func (s *RedisFilterStore) ContextStatus(EntitySourceType, ContextID string) (*itemfilterRPC_pb.RedisFilterStatus, error)
func (*RedisFilterStore) DeleteBlacklist ¶
func (s *RedisFilterStore) DeleteBlacklist(blacklistid string) error
func (*RedisFilterStore) DeleteRange ¶
func (s *RedisFilterStore) DeleteRange(rangeid string) error
func (*RedisFilterStore) FilterEntitySource ¶
func (s *RedisFilterStore) FilterEntitySource(Condition *itemfilterRPC_pb.Condition, Need, chunkSize int32, Candidates ...string) (Survivor []string, err error)
func (*RedisFilterStore) FilterSourceInBlacklist ¶
func (*RedisFilterStore) FilterSourceNotInRange ¶
func (*RedisFilterStore) GetPickerCounterNumber ¶
func (s *RedisFilterStore) GetPickerCounterNumber(Days, Offset int32, mod itemfilterRPC_pb.UnionMod, Ranges ...string) (map[string]int64, error)
func (*RedisFilterStore) Init ¶
func (s *RedisFilterStore) Init(opts ...optparams.Option[Options]) error
func (*RedisFilterStore) NewBlacklist ¶
func (s *RedisFilterStore) NewBlacklist(blacklistid string, setting *itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
func (*RedisFilterStore) NewContext ¶
func (s *RedisFilterStore) NewContext(EntitySourceType, ContextID string, setting *itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
func (*RedisFilterStore) NewPicker ¶
func (s *RedisFilterStore) NewPicker(EntitySourceType, PickerID string, settings map[string]*itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
func (*RedisFilterStore) NewRange ¶
func (s *RedisFilterStore) NewRange(rangeid string, setting *itemfilterRPC_pb.RedisFilterSetting, Content ...string) error
func (*RedisFilterStore) PickerCounterKey ¶
func (s *RedisFilterStore) PickerCounterKey(Date time.Time) string
func (*RedisFilterStore) PickerCounterKeyTemplate ¶
func (s *RedisFilterStore) PickerCounterKeyTemplate() string
pickercounter
func (*RedisFilterStore) PickerKey ¶
func (s *RedisFilterStore) PickerKey(EntitySourceType, PickerInterval, PickerID string) string
func (*RedisFilterStore) PickerKeyTemplate ¶
func (s *RedisFilterStore) PickerKeyTemplate() string
func (*RedisFilterStore) PickerStatus ¶
func (s *RedisFilterStore) PickerStatus(EntitySourceType, PickerID string) (map[string]*itemfilterRPC_pb.RedisFilterStatus, error)
func (*RedisFilterStore) RangeKey ¶
func (s *RedisFilterStore) RangeKey(rangeid string) string
range
func (*RedisFilterStore) RangePickerCounterKey ¶
func (s *RedisFilterStore) RangePickerCounterKey(Date time.Time, RID string) string
func (*RedisFilterStore) RangePickerCounterKeyTemplate ¶
func (s *RedisFilterStore) RangePickerCounterKeyTemplate() string
func (*RedisFilterStore) RangeStatus ¶
func (s *RedisFilterStore) RangeStatus(rangeid string) (*itemfilterRPC_pb.RedisFilterStatus, error)
func (*RedisFilterStore) SetEntitySourceUsed ¶
func (s *RedisFilterStore) SetEntitySourceUsed(in *itemfilterRPC_pb.SetSourceUsedQuery) error
func (*RedisFilterStore) UpdateBlacklistSource ¶
func (s *RedisFilterStore) UpdateBlacklistSource(blacklistid string, Content ...string) error
type SetBoolMapPlacehold ¶
type SetBoolMapPlacehold struct {
Cmd *redis.BoolSliceCmd
Items []string
}
type SetFilter ¶
type SetFilter struct {
// contains filtered or unexported fields
}
func NewSetFilter ¶
func (*SetFilter) Create ¶
func (s *SetFilter) Create(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting) error
func (*SetFilter) CreateAndAdd ¶
func (s *SetFilter) CreateAndAdd(ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, elements ...string) error
func (*SetFilter) PipeCheckIn ¶
func (*SetFilter) PipeCreateAndAdd ¶
func (s *SetFilter) PipeCreateAndAdd(pipe redis.Pipeliner, ctx context.Context, info *itemfilterRPC_pb.RedisFilterSetting, expat string, elements ...string) error
func (*SetFilter) PipeStatus ¶
func (*SetFilter) Status ¶
func (s *SetFilter) Status(ctx context.Context) (*itemfilterRPC_pb.RedisFilterStatus, error)
type SetFilterStatusPromise ¶
type SetFilterStatusPromise struct {
// contains filtered or unexported fields
}
func (*SetFilterStatusPromise) Result ¶
func (p *SetFilterStatusPromise) Result() (*itemfilterRPC_pb.RedisFilterStatus, error)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.