Redisson使用

pom:


    org.springframework.boot
    spring-boot-starter-data-redis


    org.redisson
    redisson
    3.4.2

配置:

/**
 * redisson auto configuration
 *
 * @author linux_china
 */
@SuppressWarnings("SpringJavaAutowiringInspection")
@Configuration
@AutoConfigureAfter(RedisAutoConfiguration.class)
public class RedissonAutoConfiguration {
    @Autowired
    private RedisProperties redisProperties;

    @Bean
    public RedissonClient redissonClient() {
        Config config = new Config();
        //sentinel
        if (redisProperties.getSentinel() != null) {
            SentinelServersConfig sentinelServersConfig = config.useSentinelServers();
            sentinelServersConfig.setMasterName(redisProperties.getSentinel().getMaster());
            List nodeList = redisProperties.getSentinel().getNodes();
            String [] nodes = new String[nodeList.size()];
            sentinelServersConfig.addSentinelAddress(redisProperties.getSentinel().getNodes().toArray(nodes));
            sentinelServersConfig.setDatabase(redisProperties.getDatabase());
            if (redisProperties.getPassword() != null) {
                sentinelServersConfig.setPassword(redisProperties.getPassword());
            }
        } else { //single server
            SingleServerConfig singleServerConfig = config.useSingleServer();
            singleServerConfig.setAddress(redisProperties.getHost() + ":" + redisProperties.getPort());
            singleServerConfig.setDatabase(redisProperties.getDatabase());
            if (redisProperties.getPassword() != null) {
                singleServerConfig.setPassword(redisProperties.getPassword());
            }
        }
        return Redisson.create(config);
    }
}

yml配置:

redis:
  password: xxxxx
  sentinel:
    master: rds-poto
    nodes:
      - rds-xx1.net:6380
      - rds-xx2.net:6380
      - rds-xx3.net:6380
redis:
  database: 4
  jedis:
    pool:
      max-active: 8
      max-idle: 8
      min-idle: 0

你可能感兴趣的:(Redis分布式锁)