bitmap

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package bitmap bitmap操作支持 bitmap可以用于分布式去重 bitmap实现了一般set的常用接口(Add,Remove,Contained,Len,ToArray)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bitmap

type Bitmap struct {
	*clientkey.ClientKey
}

Bitmap 位图对象

func New

func New(k *clientkey.ClientKey) *Bitmap

New 创建一个新的位图对象 @params k *key.Key redis客户端的键对象

func (*Bitmap) Add

func (bm *Bitmap) Add(ctx context.Context, offset int64) error

Add 为bitmap中固定偏移量位置置1 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offset int64 要置1的偏移量

func (*Bitmap) AddM

func (bm *Bitmap) AddM(ctx context.Context, offsets ...int64) error

AddM 为bitmap中多个偏移量位置置1 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offsets ...int64 要置1的偏移量

func (*Bitmap) Contained

func (bm *Bitmap) Contained(ctx context.Context, offset int64) (bool, error)

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

func (bm *Bitmap) Len(ctx context.Context) (int64, error)

Len 检查bitmap中被置1的有多少位 规定报错时返回的第一位是-1 如果key设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束

func (*Bitmap) Remove

func (bm *Bitmap) Remove(ctx context.Context, offset int64) error

Remove 为bitmap中固定偏移量位置置0 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offset int64 要置0的偏移量

func (*Bitmap) RemoveM

func (bm *Bitmap) RemoveM(ctx context.Context, offsets ...int64) error

RemoveM 为bitmap中多个偏移量位置置0 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束 @params offsets ...int64 要置0的偏移量

func (*Bitmap) Reset

func (bm *Bitmap) Reset(ctx context.Context) error

Reset 重置当前bitmap @params ctx context.Context 上下文信息,用于控制请求的结束

func (*Bitmap) ScopCount

func (bm *Bitmap) ScopCount(ctx context.Context, scop ...int64) (int64, error)

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

func (bm *Bitmap) ToArray(ctx context.Context) ([]int64, error)

ToArray 检查哪些偏移量是已经被置1的 如果设置了MaxTTL则会在执行好后刷新TTL @params ctx context.Context 上下文信息,用于控制请求的结束

func (*Bitmap) Union

func (bm *Bitmap) Union(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbms ...*Bitmap) (*Bitmap, error)

Union 对应set的求并集操作 @params ctx context.Context 上下文信息,用于控制请求的结束 @params targetbmkey *clientkey.ClientKey 目标key对象 @params otherbms ...*Bitmap 与之做并操作的其他bitmap对象

func (*Bitmap) Xor

func (bm *Bitmap) Xor(ctx context.Context, targetbmkey *clientkey.ClientKey, otherbm *Bitmap) (*Bitmap, error)

Xor 对应set的求对称差集操作 @params ctx context.Context 上下文信息,用于控制请求的结束 @params targetbmkey *clientkey.ClientKey 目标key对象 @params otherbm *Bitmap 与之做xor操作的其他bitmap对象

Jump to

Keyboard shortcuts

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