类 DefaultRedissonDistributedLock

java.lang.Object
com.iohao.game.widget.light.redis.lock.DefaultRedissonDistributedLock
所有已实现的接口:
DistributedLock

public class DefaultRedissonDistributedLock extends Object implements DistributedLock
简单的基于Redisson分布式锁接口实现类
     使用Redisson实现
 
作者:
shen
  • 构造器详细资料

    • DefaultRedissonDistributedLock

      public DefaultRedissonDistributedLock()
  • 方法详细资料

    • tryLockAndExecute

      public <T> T tryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, ReturnHandle<T> action) throws InterruptedException
      从接口复制的说明: DistributedLock
      获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常
        waitTime: 等待时间。当该值为0的时候,即不等待,无论是否获取到锁,都直接返回结果
        leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
       
      指定者:
      tryLockAndExecute 在接口中 DistributedLock
      参数:
      key - 锁的键值
      waitTime - 等待锁的时间
      leaseTime - 最小释放锁的时间
      unit - 时间单位
      action - 执行的动作,带返回值
      返回:
      action的返回值
      抛出:
      InterruptedException - 锁中断异常
    • tryLockAndExecute

      public void tryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, VoidHandle action) throws InterruptedException
      从接口复制的说明: DistributedLock
      获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常
        waitTime: 等待时间。当该值为0的时候,即不等待,无论是否获取到锁,都直接返回结果
        leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
       
      指定者:
      tryLockAndExecute 在接口中 DistributedLock
      参数:
      key - 锁的键值
      waitTime - 等待锁的时间
      leaseTime - 最小释放锁的时间
      unit - 时间单位
      action - 执行的动作,不带返回值
      抛出:
      InterruptedException - 锁中断异常
    • lockAndExecute

      public <T> T lockAndExecute(String key, long leaseTime, TimeUnit unit, ReturnHandle<T> action)
      从接口复制的说明: DistributedLock
      阻塞等待获取分布式锁,并且执行用户传入的操作
        leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
       
      指定者:
      lockAndExecute 在接口中 DistributedLock
      参数:
      key - 锁的键值
      leaseTime - 最小释放锁的时间
      unit - 时间单位
      action - 执行的动作,带返回值
      返回:
      action的返回值
    • lockAndExecute

      public void lockAndExecute(String key, long leaseTime, TimeUnit unit, VoidHandle action)
      从接口复制的说明: DistributedLock
      阻塞等待获取分布式锁,并且执行用户传入的操作
        leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
       
      指定者:
      lockAndExecute 在接口中 DistributedLock
      参数:
      key - 锁的键值
      leaseTime - 最小释放锁的时间
      unit - 时间单位
      action - 执行的动作,带返回值
    • unlock

      public boolean unlock(String key)
      从接口复制的说明: DistributedLock
      显示解锁
      指定者:
      unlock 在接口中 DistributedLock
      参数:
      key - redis健
      返回:
      解锁结果