1 Star 3 Fork 0

luxda / redislock

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

redislock

distributed lock base on redis

一个基于redis的、可重入、自旋式分布式锁,使用方式:

String testLockKey = "testLockKey1";
RedisLock rlock = new RedisLock(jedis, testLockKey, 10000, 6000); //10000是最长自旋时间(毫秒),6000是获取后自动失效时间(毫秒)
// 业务操作
rlock.release();

使用限制

  • 业务操作到锁主动释放(release调用)占用的时间不要超过自动失效时间,不然锁的语义失效
  • Redis服务如果是Redis集群,存在一定风险,风险如下
客户端A在主节点获得了一个锁。

主节点挂了,而到从节点的写同步还没完成。

从节点被提升为主节点。

客户端B从新主节点获取跟A一样的锁

空文件

简介

一个基于redis的、可重入、自旋式分布式锁 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/aiyuntang/redislock.git
git@gitee.com:aiyuntang/redislock.git
aiyuntang
redislock
redislock
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891