locker

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultExpire time.Duration = time.Millisecond * 200

DefaultExpire 默认超时时间 200ms

View Source
var DefaultRetrySpan time.Duration = time.Microsecond * 70

DefaultRetrySpan 默认重试间隔 70ms

View Source
var DefaultRetryTimes int = 3

DefaultRetryTimes 默认重试次数 3次

Functions

This section is empty.

Types

type Locker

type Locker struct {
	Reader     LockerReader
	Writer     LockerWriter
	Deleter    LockerDeleter
	Expire     time.Duration
	RetryTimes int
	RetrySpan  time.Duration
}

Locker 数据库读锁

func DefaultLocker

func DefaultLocker() Locker

DefaultLocker 创建默认Locker对象

func NewLocker

func NewLocker(opts ...LockerOptionHandler) Locker

NewLocker 创建新Locker对象

type LockerDeleter

type LockerDeleter func(ctx context.Context, key string) error

LockerDeleter 删除锁

type LockerOptionHandler

type LockerOptionHandler func(*Locker)

LockerOptionHandler 读取锁配置选项

func WithLockerDeleter

func WithLockerDeleter(d LockerDeleter) LockerOptionHandler

WithLockerDeleter 设置locker删除

func WithLockerExpire

func WithLockerExpire(e time.Duration) LockerOptionHandler

WithLockerExpire 设置locker过期时间

func WithLockerReader

func WithLockerReader(r LockerReader) LockerOptionHandler

WithLockerReader 设置locker读取器

func WithLockerRetrySpan

func WithLockerRetrySpan(rs time.Duration) LockerOptionHandler

WithLockerRetrySpan 设置锁重入尝试间隔

func WithLockerRetryTimes

func WithLockerRetryTimes(rt int) LockerOptionHandler

WithLockerRetryTimes 设置锁重入尝试次数

func WithLockerWriter

func WithLockerWriter(w LockerWriter) LockerOptionHandler

WithLockerWriter 设置locker写入器

type LockerReader

type LockerReader func(ctx context.Context, key string) (string, error)

LockerReader 读取锁

type LockerWriter

type LockerWriter func(ctx context.Context, key string) error

LockerWriter 生成锁

Jump to

Keyboard shortcuts

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