嗨,我尝试为RedisCacheManager创建rediscluster,但是集群的属性不起作用。 错误信息如下: 由以下原因引起:org.springframework.data.redis.RedisConnectionFailureException:无法从池中获取资源。嵌套的异常是redis.clients.jedis.exceptions.JedisConnectionException:无法从池中获取资源
示例: RedisClusterConfig.class
@Configuration
public class RedisClusterConfig {
@Bean
RedisClusterConfiguration redisClusterConfiguration(){
List<String> nodes = new ArrayList<>();
nodes.add("192.168.145.141:7001");nodes.add("192.168.145.141:7002");nodes.add("192.168.145.141:7003");
nodes.add("192.168.145.141:7004");nodes.add("192.168.145.141:7005");nodes.add("192.168.145.141:7006");
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(nodes);
return redisClusterConfiguration;
}
@Bean("redisConnectionFactory")
JedisConnectionFactory redisConnectionFactory(){
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(redisClusterConfiguration());
return jedisConnectionFactory;
}
@Bean("redisCacheManager")
public RedisCacheManager redisCacheManager() {
return RedisCacheManager.create(redisConnectionFactory());
}
}
DemoApplication.class
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
return args -> {
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
RedisConnectionFactory redisConnectionFactory = (RedisConnectionFactory)ctx.getBean("redisConnectionFactory");
RedisCacheManager redisCacheManager = (RedisCacheManager)ctx.getBean("redisCacheManager");
Cache cache = redisCacheManager.getCache("abc");
if(cache != null){
cache.put("13",13);
String a = cache.get("13").toString();
System.out.println("a is " + a);
}else {
System.out.println("can not find cache");
}
};
}
}
我调试代码,发现是这样的:
调试信息: enter image description here
我不知道为什么clusternodes不等于缓存节点。 Pom文件如下: