Skip to content

yuanzhangcai/redis-mutex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redis-mutex

基于redis的分布式锁。

锁的默认存活时间为5秒,上锁默认超时时间为3秒。支持上锁后自动刷新锁的存活时间,默认没有开启,可使用mutex.AutoRefresh方法开启。

使用demo:

    import mutex "github.com/yuanzhangcai/redis-mutex"

    // 初始化分布式锁
    err := mutex.Init(mutex.RedisServer("127.0.0.1:6379"), mutex.Password("12345678"), mutex.Prefix("lock_demo"))
	if err != nil {
		fmt.Println(1, err)
		return
	}

    // 创建分布式锁,
    // 可以通过:mutex.TTL、mutex.Timeout、mutex.AutoRefresh、mutex.Context方法修改默认参数
    m := mutex.NewMutex("Lock_key")

    // 上锁
	err = m.Lock()
	if err != nil {
		fmt.Println(err) // 上锁失败
		return
	}

    // do something

    m.Unlock() // 解锁

Releases

No releases published

Packages

No packages published