@Data
@Component
@ConfigurationProperties(prefix = "spring.redis")
public class RedisProperties {
private String host;
private int port;
private String password;
private int database;
}
@Slf4j
@Configuration
public class RedissionConfig {
@Resource
private RedisProperties redisProperties;
@Bean
public RedissonClient redissonClient(){
RedissonClient redissonClient;
Config config = new Config();
Integer port = redisProperties.getPort();
if (port == 0) {
port = 6379;
}
String url = "redis://" + redisProperties.getHost()
+ ":" + port;
config.useSingleServer().setAddress(url)
.setPassword(redisProperties.getPassword())
.setDatabase(redisProperties.getDatabase());
try {
redissonClient = Redisson.create(config);
return redissonClient;
} catch (Exception e) {
log.error("RedissonClient init redis url :[{}]",url,e);
return null;
}
}
}
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-data-20</artifactId>
<version>3.9.1</version>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.9.1</version>
</dependency>
@Autowired
private RedissonClient redissonClient;
public boolean insert(Number number) {
RLock lock = redissonClient.getLock(code);
try {
lock.lock(10, TimeUnit.SECONDS);
} finally {
lock.unlock();
}
}