![JAR search and dependency download from the Maven repository](/logo.png)
com.spring.boxes.redis.lock.LockTemplate Maven / Gradle / Ivy
The newest version!
package com.spring.boxes.redis.lock;
public interface LockTemplate {
/**
* 获取锁(默认锁许可执行时长30秒, 1小时后自动释放锁)
*
* @param lockKey 分布式锁的Key
* @return 获取锁结果
*/
boolean tryLock(String lockKey);
/**
* 获取锁(默认1小时后自动释放锁)
*
* @param lockKey 分布式锁的Key
* @param waitTime 锁许可执行时长, 单位: 毫秒
* @return 获取锁结果
*/
boolean tryLock(String lockKey, long waitTime);
/**
* 获取锁
*
* @param lockKey 分布式锁的Key
* @param waitTime 锁许可执行时长, 单位: 毫秒
* @param leaseTime 上锁间隔多久后释放锁
* @return 获取锁结果
*/
boolean tryLock(String lockKey, long waitTime, long leaseTime);
/**
* 获取锁并执行(默认锁许可执行时长30秒, 1小时后自动释放锁)
*
* @param lockKey 分布式锁的Key
* @return 获取锁结果
*/
LockResult execute(String lockKey, LockAction lockAction);
/**
* 获取锁(默认1小时后自动释放锁)
*
* @param lockKey 分布式锁的Key
* @param waitTime 锁许可执行时长, 单位: 毫秒
* @return 获取锁结果
*/
LockResult execute(String lockKey, long waitTime, LockAction lockAction);
/**
* 获取锁并执行
*
* @param lockKey 分布式锁的Key
* @param waitTime 锁许可执行时长, 单位: 毫秒
* @param leaseTime 上锁间隔多久后释放锁
* @return 获取锁结果
*/
LockResult execute(String lockKey, long waitTime, long leaseTime, LockAction lockAction);
/**
* 释放锁
*
* @param lockKey 分布式锁的Key
*/
void unlock(String lockKey);
/**
* 判断当前进程是否获取到缩
*
* @param lockKey 分布式锁的Key
* @return 当前进程是否上锁
*/
boolean isLocked(String lockKey);
/**
* 判断该线程是否持有当前锁
*
* @param lockKey 锁名称
*/
boolean isHeldByCurrentThread(String lockKey);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy