RedissonClient分布式锁
1、 导入pom文件
<!--使用redisson作为分布式锁-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.16.8</version>
</dependency>
2、代码片段
@Autowired
private RedissonClient redissonClient;
public void testRedisson(HttpServletRequest request) {
RLock testRedisson = redissonClient.getLock(RedissonLockKeys.CS_REDISSON_LOS.getKey());
try {
testRedisson.lock(2, TimeUnit.MINUTES);
System.out.println("执行代码中.................");
} finally {
System.out.println("释放锁");
testRedisson.unlock();
}
}```
#### 3、工具类
```java
@Configuration
public class RedissonConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private String port;
@Value("${spring.redis.password}")
private String password;
@Bean(destroyMethod = "shutdown")
public RedissonClient redissonClient() {
Config config = new Config();
if (StringUtils.isNotEmpty(password)) {
config.useSingleServer().setAddress("redis://" + host + ":" + port + "").setPassword(password);
} else {
config.useSingleServer().setAddress("redis://" + host + ":" + port + "").setPassword(null);
}
return Redisson.create(config);
}
}