Spring集成redisson

maven引入redissonjava

<dependency>
	<groupId>org.redisson</groupId>
	<artifactId>redisson</artifactId>
	<version>3.11.0</version>
</dependency>

JavaConfignode

@Configuration
public class RedissonConfiguration {

    @Value("${spring.redis.sentinel.nodes}")
    private String nodes;

    @Value("${spring.redis.sentinel.master}")
    private String masterName;
    
	@Value("${spring.redis.password}")
    private String redisPassword;

    @Bean
    public Redisson getRedisson() {
        Config config = new Config();
        String[] nodeArray = nodes.split(",");
        for (int i = 0;i<nodeArray.length;i++) {
            nodeArray[i] = "redis://" + nodeArray[i];
        }
        config.useSentinelServers().setMasterName(masterName).setPassword(redisPassword)
        .addSentinelAddress(nodeArray);
        Redisson redisson = (Redisson) Redisson.create(config);
        return redisson;
    }

}

应用web

RLock lock = redisson.getLock(key);
        try {
            boolean locked = lock.tryLock(Constants.DEFAULT_LOCK_EXPIRE, TimeUnit.SECONDS);
            if (locked) {
                // do something
            } else {
                throw new BizException(InstallErrorCode.WAIT_A_MOMENT);
            }
        } catch (InterruptedException e) {
            logger.info(e.getMessage());
        } finally {
            lock.unlock();
        }