Package top.tangyh.basic.cache.lock
Interface DistributedLock
- All Known Implementing Classes:
CaffeineDistributedLock,RedisDistributedLock
public interface DistributedLock
分布式锁顶级接口
例如:
RETRY_TIMES=100,SLEEP_MILLIS=100
RETRY_TIMES * SLEEP_MILLIS = 10000 意味着如果一直获取不了锁,最长会等待10秒后抛超时异常
- Author:
- zuihou
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int重试次数static final long每次重试后等待的时间 单位:毫秒static final long默认超时时间 单位:毫秒 -
Method Summary
Modifier and TypeMethodDescriptiondefault boolean获取锁default boolean获取锁default boolean获取锁default boolean获取锁default boolean获取锁boolean获取锁booleanreleaseLock(String key) 释放锁
-
Field Details
-
TIMEOUT_MILLIS
static final long TIMEOUT_MILLIS默认超时时间 单位:毫秒- See Also:
-
RETRY_TIMES
static final int RETRY_TIMES重试次数- See Also:
-
SLEEP_MILLIS
static final long SLEEP_MILLIS每次重试后等待的时间 单位:毫秒- See Also:
-
-
Method Details
-
lock
获取锁- Parameters:
key- key- Returns:
- 成功/失败
-
lock
获取锁- Parameters:
key- keyretryTimes- 重试次数- Returns:
- 成功/失败
-
lock
获取锁- Parameters:
key- keyretryTimes- 重试次数sleepMillis- 获取锁失败的重试间隔 单位:毫秒- Returns:
- 成功/失败
-
lock
获取锁- Parameters:
key- keyexpire- 获取锁超时时间- Returns:
- 成功/失败
-
lock
获取锁- Parameters:
key- keyexpire- 获取锁超时时间retryTimes- 重试次数- Returns:
- 成功/失败
-
lock
获取锁- Parameters:
key- keyexpire- 获取锁超时时间retryTimes- 重试次数sleepMillis- 获取锁失败的重试间隔- Returns:
- 成功/失败
-
releaseLock
释放锁- Parameters:
key- key值- Returns:
- 释放结果
-