你的位置:首页 > 软件开发 > Java > redis setnx 分布式锁

redis setnx 分布式锁

发布时间:2016-06-22 15:00:05
private final String RedisLockKey = "RedLock"; private final long altTimeout = 1 * 60 * 60 * 1000L;// 1hour /** * 获取redis分布式锁 ...
  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;    }  }

原标题:redis setnx 分布式锁

关键词:Redis

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录