1 Star 3 Fork 0

hoaven / hoaven-libRedis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

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()给锁赋予一个生存时间,超出生存时间锁会被自动释放。

空文件

简介

基于Redis搭建的分布式锁 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/kakanshun/hoaven-libRedis.git
git@gitee.com:kakanshun/hoaven-libRedis.git
kakanshun
hoaven-libRedis
hoaven-libRedis
master

搜索帮助