开源软件名称:hoaven-libRedis
开源软件地址:https://gitee.com/kakanshun/hoaven-libRedis
开源软件介绍:
1、简介使用Redis 实现分布式锁
2、使用直接调用RedisLockUtils.tryLock(final RedisTemplate jedisTemplate, final String lockName, final int lockTimeout, final int acquireTimeout, final long retryDuration) ;
参数介绍: - jedisTemplate:没啥好说的
- lockName:锁的唯一名称
- lockTimeout:锁过期时间(单位:秒)
- acquireTimeout:请求锁的超时时间 (单位:秒)
- retryDuration:请求锁的重试间隔时间 (单位:毫秒)
3、设计思路3 . 1、基本思路主要用到的是redis函数setNX() ,这个应该是实现分布式锁最主要的函数。首先是将某一任务标识名(lockKey)作为键存到redis里,并为其设个过期时间,如果是还有lockKey请求过来,先是通过setNX() 看看是否能将lockKey插入到redis里,可以的话就返回true,不可以就返回false。
3 . 2、锁过期时间为避免特殊原因导致获得的锁无法释放,在加锁成功后,通过redis函数expire() 给锁赋予一个生存时间,超出生存时间锁会被自动释放。 |
请发表评论