Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DefaultRetryCount is default max retry count to lock. DefaultRetryCount = 3 // DefaultRetryDelay is default delay when retry to lock. DefaultRetryDelay = 200 * time.Millisecond // DefaultExpiration is default expiration time for Mutex's lock. DefaultExpiration = 30 * time.Second )
View Source
var ( // ErrLockedAlready occurs when previous lock is not released. ErrLockedAlready = errors.New("locked already") // ErrGaveUpLock ocurrs when Lock gave up. ErrGaveUpLock = errors.New("gave up lock") )
Functions ¶
Types ¶
type Adapter ¶
type Adapter interface { SetNX(key string, val string, expiration time.Duration) (bool, error) Eval(script string, key []string, args ...interface{}) error }
Adapter defines requirements for redis connection.
type Mutex ¶
type Mutex struct {
// contains filtered or unexported fields
}
Mutex provides distributed locks with Redis (a.k.a. redlock). See https://redis.io/topics/distlock for details.
func NewWithRedis ¶
NewWithRedis creates Mutex from some "github.com/go-redis/redis".Cmdable implementations.
func (*Mutex) SetExpiration ¶
SetExpiration modifies expiration time of locked key.
func (*Mutex) SetRetryCount ¶
SetRetryCount modifies max retry count to lock.
func (*Mutex) SetRetryDelay ¶
SetRetryDelay modifies delay for retry to lock.
Click to show internal directories.
Click to hide internal directories.