String result = jedis.set(lockKey, requestId, "NX", "PX", expireTime);<br>if ("OK".equals(result)) {<br> return true;<br>}<br>return false;
lockKey:锁的标识<br>requestId:请求id<br>NX:只在键不存在时,才对键进行设置操作。<br>PX:设置键的过期时间为 millisecond 毫秒。<br>expireTime:过期时间<br>set命令是原子操作,加锁和设置超时时间,一个命令就能轻松搞定。
合理的用法
手动加锁<br>业务操作<br>手动释放锁<br>如果手动释放锁失败了,则达到超时时间,redis会自动释放锁。
try{<br> String result = jedis.set(lockKey, requestId, "NX", "PX", expireTime);<br> if ("OK".equals(result)) {<br> return true;<br> }<br> return false;<br>} finally {<br> unlock(lockKey);<br>}