cn.structure.starter.redisson.utils.IDistributedLocker Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of structure-redisson-starter Show documentation
Show all versions of structure-redisson-starter Show documentation
封装 redisson 将封装成启动器,并且对分布式锁和缓存进行封装
The newest version!
package cn.structure.starter.redisson.utils;
import org.redisson.api.RLock;
import java.util.concurrent.TimeUnit;
/**
*
* 分布式锁接口
*
*
* @author chuck
* @version 1.0.1
* @since 2020-12-23
*/
public interface IDistributedLocker {
/**
* 通过key获取锁 {@link RLock}
*
* @param lockKey 锁的key
* @return org.redisson.api.RLock
*/
RLock lock(String lockKey);
/**
* 通过key获取锁 {@link RLock}并设置一个超时时间
*
* @param lockKey 锁的key
* @param timeout 超时时间
* @return org.redisson.api.RLock
*/
RLock lock(String lockKey, int timeout);
/**
* 通过key获取锁 {@link RLock}并设置一个超时时间,并设置一个时间单位
*
* @param lockKey 锁的key
* @param unit 时间的单位
* @param timeout 超时时间
* @return org.redisson.api.RLock
*/
RLock lock(String lockKey, TimeUnit unit, int timeout);
/**
* 通过key获取锁 {@link RLock}并设置一个超时时间,并设置一个时间单位和一个等待时间
*
* @param lockKey
* @param unit
* @param waitTime
* @param leaseTime
* @return org.redisson.api.RLock
*/
boolean tryLock(String lockKey, TimeUnit unit, int waitTime, int leaseTime);
/**
*
* 关闭锁
*
*
* @param lockKey 锁的key
*/
void unlock(String lockKey);
/**
*
* 关闭锁
*
*
* @param lock 要关闭的锁
*/
void unlock(RLock lock);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy