golang 版本redis分布式锁

分布式锁有三种

1.乐观锁

2.redis锁

3.zookeeper锁

这次进行一个设计,redis分布式锁,只需要三种操作,增删查

首先一个redis连接池,由于会被导入,所以init

import ( "redigo/redis" ) const ( SET_IF_NOT_EXIST = "NX" // 不存在则执行 SET_WITH_EXPIRE_TIME = "EX" // 过期时间(秒) PX 毫秒 SET_LOCK_SUCCESS = "OK" // 操作成功 DEL_LOCK_SUCCESS = 1 // lock 删除成功 DEL_LOCK_NON_EXISTENT = 0 // 删除lock key时,并不存在 ) var ( RdPool *redis.Pool Conn redis.Conn ) // NewRedisPool func init(){ pool := &redis.Pool{ Dial: func() (conn redis.Conn, e error) { return redis.Dial("tcp","localhost:6379") }, MaxIdle: 10, MaxActive: 20, IdleTimeout: 100, } RdPool = pool Conn = pool.Get() }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdwwj.html