private final String RedisLockKey = "RedLock";
private final long altTimeout = 1 * 60 * 60 * 1000L;// 1hour /**
* 获取redis分布式锁
*
* @author Administrator
* @version 1.0
* @return true:获得锁权限 false:未获得锁权限
*/
private synchronized boolean getRedLock() {
Long flag = jedis.setnx(RedisLockKey, String.valueOf(System.currentTimeMillis() + altTimeout + 1L));
if (flag == 0L) {
String value = jedis.get(RedisLockKey);
long longVal = Long.parseLong(value);
if (longVal > System.currentTimeMillis()) {// 未过期
return Boolean.FALSE;
} else {// 过期
String _value =
jedis.getSet(RedisLockKey, String.valueOf(System.currentTimeMillis() + altTimeout + 1L));
long _longVal = Long.parseLong(_value);
if (_longVal > System.currentTimeMillis()) {
return Boolean.FALSE;
} else {
return Boolean.TRUE;
}
}
} else {
return Boolean.TRUE;
}
}

最新文章

  1. SpringMVC初始化参数绑定--日期格式
  2. 树莓派 Linux备忘
  3. gpg的一些常用操作
  4. OMNET++工具的使用(2)
  5. php jquery ajax
  6. GDB---Oracle Function Call List
  7. web自动化框架之三获取数据库值与界面值比较~~
  8. Keil相关问题
  9. Android为TV端助力 运算符&,|,^
  10. 在windows下如何快速搭建web.py开发框架
  11. 【RestTemplete】使用RestTemplete传Json或者 {} 报错--解决
  12. MT【231】棋子方法数
  13. Runloop的再学习之浅析(一)
  14. Oracle(四):锁
  15. Credentials(Rails5.2新) 很基础的知识点,具体还要实操。
  16. hdu 2119 Matrix(二分匹配)
  17. WebSocket的几个模块(node.js)(未完)
  18. Item 1----------考虑用静态工厂方法代替构造器
  19. [容器]docker创建镜像
  20. jquery移除、绑定、触发元素事件

热门文章

  1. [AngularJS] TweenList 3D + AngularJS Animate
  2. 已解决】Sublime中运行带input或raw_input的Python代码出错:EOFError: EOF when reading a line(转)
  3. IOS UIView子类UIScrollView
  4. 纯css3实现的动画加载条
  5. linux连接静态库
  6. 初学者学习javascript语言应注意的那几点
  7. 【¥200代金券、iPad等您来拿】 阿里云9大产品免费公测#10月9日-11月6日#
  8. Oracle基础 PL-SQL编程基础(1) 变量和常量
  9. SQL Server中游标的使用
  10. JAVA数字证书制作生成