013,spring boot下JedisCluster客户端的配置,连接Redis集群

 

1,pom依赖添加:

    <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <type>jar</type>
            <scope>compile</scope>
            <version>2.8.0</version>
        </dependency>

2,application.properties中配置:

   #redis cluster
redis.cache.clusterNodes=120.125.122.103:5000,120.125.122.103:5001,120.125.122.103:5002,120.125.122.103:5003,120.125.122.103:5004,120.125.122.103:5005
redis.cache.commandTimeout=5000
#unit:second
redis.cache.expireSeconds=120

3,新增类RedisProperties  JedisClusterConfig,核心代码如下:

@Component
@ConfigurationProperties(prefix = "redis.cache")
public class RedisProperties {

    private int    expireSeconds;
    private String clusterNodes;
    private int    commandTimeout;

}

 

@Configuration
public class JedisClusterConfig {

    @Autowired
    private RedisProperties redisProperties;
    
    /**
    * 注意:
    * 这里返回的JedisCluster是单例的,并且可以直接注入到其他类中去使用
    * @return
    */
    @Bean
    public JedisCluster getJedisCluster() {
        
        String[] serverArray = redisProperties.getClusterNodes().split(",");//获取服务器数组(这里要相信自己的输入,所以没有考虑空指针问题)
        Set<HostAndPort> nodes = new HashSet<>();
    
         for (String ipPort : serverArray) {
             String[] ipPortPair = ipPort.split(":");
             nodes.add(new HostAndPort(ipPortPair[0].trim(), Integer.valueOf(ipPortPair[1].trim())));
         }
         
        return new JedisCluster(nodes, redisProperties.getCommandTimeout());
    }
    
}

 

特别注意:@ConfigurationProperties(prefix = "redis.cache") 中redis.cache要和application.properties中的前缀对应。

 

4,使用:

    @Autowired
    private JedisCluster   jc ;

 

转载于:https://my.oschina.net/tinglanrmb32/blog/800177

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值