golang redis 锁 - Go语言中文社区

golang redis 锁


const (

    distributedLockExpireTime = 60 * time.Second

    dLockRedisKey = "lock"

)

 

type dlock struct{}

 

func NewDistributedLock() *dlock {

    return &dlock{}

}

 

func (d *dlock) GetDistributedLock(key string, expireTime time.Duration) (r bool) {

    // true设置成功,false设置失败

    r, _ = globalRedis.SetNX(key, dLockRedisKey, expireTime).Result()

    return

}

func (d *dlock) ReleaseDistributedLock(key string) bool {

    r, _ := globalRedis.Del(key).Result()

    if r == 1 {

        return false //删除成功

    }

    return true //删除失败

}

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/axsh_01/article/details/85341205
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 16:29:25
  • 阅读 ( 2405 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢