<!--redisson -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.16.8</version>
</dependency>
配置类
@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
public RedissonClient getRedisson() {
Config config = new Config();
config.setCodec(StringCodec.INSTANCE);
config.useSingleServer().setAddress("redis://" + host + ":" + port).setPassword(password);
return Redisson.create(config);
}
}
使用
@Resource
RedissonClient redissonClient;
RLock lock = redissonClient.getLock(xxxx);
//获取锁等待时间,执行超时时间,单位
if(lock.tryLock(5, 5, TimeUnit.SECONDS)) {
try
{
xxx
}
catch (Exception e)
{
}
finally
{
lock.unlock();
}
}