013,spring boot下JedisCluster客户端的配置,连接Redis集群
2019獨角獸企業重金招聘Python工程師標準>>>
?
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
總結
以上是生活随笔為你收集整理的013,spring boot下JedisCluster客户端的配置,连接Redis集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Leetcode][第32题][JAV
- 下一篇: linux cmake编译源码,linu