SpringBoot整合Redisson实战(通过redisson-spring-boot-starter)

3,194 阅读1分钟

本文章向大家介绍SpringBoot整合Redisson实战(通过redisson-spring-boot-starter),主要包括SpringBoot整合Redisson实战(通过redisson-spring-boot-starter)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Redssion的执行对象,用于在分布式锁中执行方法。当方法同时只允许一个节点运行时,需要此类的处理。

一、maven依赖包

<artifactId>adicon-lis-starter-data-redis</artifactId>
<name>adicon-lis-starter-data-redis</name>
<description>Redis的自动配置</description>

<dependencies>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
   </dependency>

   <dependency>
      <groupId>org.redisson</groupId>
      <artifactId>redisson-spring-boot-starter</artifactId>
   </dependency>

   <dependency>
      <groupId>com.adicon</groupId>
      <artifactId>adicon-lis-starter-commons</artifactId>
   </dependency>

</dependencies>

二、获取分布式锁代码

/**
 * 获取分布式锁
 * 
 * @param lockKey   锁定
 * @param waitTime  锁定等待时间
 * @param leaseTime 获取到的锁的存活时间,到期后自动释放
 * @return 未能锁定则返回null
 */
@Override
public RLock tryLock(String lockKey, long waitTime, long leaseTime) {
   RLock lock = redisson.getLock(lockKey);
   try {
      if (lock.tryLock(waitTime, leaseTime, TimeUnit.MILLISECONDS)) {
         return lock;
      }
   } catch (InterruptedException ignore) {
      if (log.isWarnEnabled()) {
         log.warn("Redisson tryLock exception", ignore);
      }
   }
   return null;
}

三、使用RedissonClient客户端

配置好后,就可以直接在项目中注入 RedissonClient 就可以了

image.png