redis setnx 鍒嗗竷寮忛攣
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis setnx 鍒嗗竷寮忛攣相关的知识,希望对你有一定的参考价值。
鏍囩锛?/p>
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()) {// 鏈繃鏈?/span> 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 鍒嗗竷寮忛攣的主要内容,如果未能解决你的问题,请参考以下文章