Documentation ¶
Overview ¶
Package bitmap bitmap操作支持 bitmap可以用于分布式去重 bitmap实现了一般set的常用接口(Add,Remove,Contained,Len,ToArray)
Index ¶
- type Bitmap
- func (bm *Bitmap) Add(ctx context.Context, offset int64) error
- func (bm *Bitmap) AddM(ctx context.Context, offsets ...int64) error
- func (bm *Bitmap) Contained(ctx context.Context, offset int64) (bool, error)
- func (bm *Bitmap) Except(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbm *Bitmap) (*Bitmap, error)
- func (bm *Bitmap) Intersection(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbms ...*Bitmap) (*Bitmap, error)
- func (bm *Bitmap) Len(ctx context.Context) (int64, error)
- func (bm *Bitmap) Remove(ctx context.Context, offset int64) error
- func (bm *Bitmap) RemoveM(ctx context.Context, offsets ...int64) error
- func (bm *Bitmap) Reset(ctx context.Context) error
- func (bm *Bitmap) ScopCount(ctx context.Context, scop ...int64) (int64, error)
- func (bm *Bitmap) ToArray(ctx context.Context) ([]int64, error)
- func (bm *Bitmap) Union(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbms ...*Bitmap) (*Bitmap, error)
- func (bm *Bitmap) Xor(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbm *Bitmap) (*Bitmap, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bitmap ¶
Bitmap 位图对象
func (*Bitmap) Add ¶
Add 为bitmap中固定偏移量位置置1 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offset int64 要置1的偏移量
func (*Bitmap) AddM ¶
AddM 为bitmap中多个偏移量位置置1 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offsets ...int64 要置1的偏移量
func (*Bitmap) Contained ¶
Contained 检查bitmap某偏移量是否已经被置1 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offset int64 查看的偏移量
func (*Bitmap) Except ¶
func (bm *Bitmap) Except(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbm *Bitmap) (*Bitmap, error)
Except 对应set的求差集操作 @params ctx context.Context 上下文信息,用于控制请求的结束 @params targetbmkey *clientkey.ClientKey 目标key对象 @params otherbm *Bitmap 与之做xor操作的其他bitmap对象
func (*Bitmap) Intersection ¶
func (bm *Bitmap) Intersection(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbms ...*Bitmap) (*Bitmap, error)
Intersection 对应set的求交集操作 @params ctx context.Context 上下文信息,用于控制请求的结束 @params targetbmkey *clientkey.ClientKey 目标key对象 @params otherbms ...*Bitmap 与之做交操作的其他bitmap对象
func (*Bitmap) Len ¶
Len 检查bitmap中被置1的有多少位 规定报错时返回的第一位是-1 如果key设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束
func (*Bitmap) Remove ¶
Remove 为bitmap中固定偏移量位置置0 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offset int64 要置0的偏移量
func (*Bitmap) RemoveM ¶
RemoveM 为bitmap中多个偏移量位置置0 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offsets ...int64 要置0的偏移量
func (*Bitmap) ScopCount ¶
ScopCount 检查bitmap中特定范围内被置1的有多少位 规定报错时返回的第一位是-1 如果key设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params scop ...int64 最多2位,第一位表示开始位置,第二位表示结束位置,注意参数scop只能精确到bit, 也就是说,0到7都表示实际填入的0;8,15都表示实际填入的1...,如果只有一位scop则表示查看某一位内的个数
func (*Bitmap) ToArray ¶
ToArray 检查哪些偏移量是已经被置1的 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束