public class JbootRedisLock extends Object
Redis 分布式锁
使用方法:
JbootRedisLock lock = new JbootRedisLock("lockName"); try{ boolean acquire = lock.acquire(); if(acquire){ // do your something } }finally { lock.release(); }
使用方法2: JbootRedisLock lock = new JbootRedisLock("lockName"); lock.runIfAcquired(new Runnable(){
public void run() { //do your something } });
| 限定符和类型 | 字段和说明 |
|---|---|
(专用程序包) long |
expireMsecs |
private boolean |
locked |
private String |
lockName |
private JbootRedis |
redis |
(专用程序包) long |
timeoutMsecs |
| 构造器和说明 |
|---|
JbootRedisLock(String lockName)
创建redis分布式锁
|
JbootRedisLock(String lockName,
long timeoutMsecs)
创建redis分布式锁
|
JbootRedisLock(String lockName,
long timeoutMsecs,
long expireMsecs) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
acquire()
获取锁
|
long |
getExpireMsecs() |
long |
getTimeoutMsecs() |
boolean |
isLocked()
是否获得 锁 了
|
void |
release()
释放 锁
|
void |
runIfAcquired(Runnable runnable) |
void |
setExpireMsecs(long expireMsecs) |
void |
setTimeoutMsecs(long timeoutMsecs) |
long expireMsecs
long timeoutMsecs
private boolean locked
private JbootRedis redis
public JbootRedisLock(String lockName)
lockName - 锁的名称public JbootRedisLock(String lockName, long timeoutMsecs)
lockName - 锁名称timeoutMsecs - 获取锁的时候,等待时长public JbootRedisLock(String lockName, long timeoutMsecs, long expireMsecs)
lockName - 锁名称timeoutMsecs - 获取锁的时候,等待时长expireMsecs - 超时时长public long getTimeoutMsecs()
public void setTimeoutMsecs(long timeoutMsecs)
public long getExpireMsecs()
public void setExpireMsecs(long expireMsecs)
public void runIfAcquired(Runnable runnable)
public boolean acquire()
public boolean isLocked()
public void release()
Copyright © 2024. All rights reserved.