我有一个带有master,slave和3个sentinel服务器的redis集群 . 主服务器和从服务器映射到dns名称为node1-redis-dev.com,node2-redis-dev.com . redis服务器版本是2.8
我在application.properties文件中包含以下内容 .
spring.redis.cluster.nodes=node1-redis-dev.com:6379,node2-redis-dev.com:6379
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=-1
spring.redis.pool.max-wait=-1
我也使用下面的代码,因为只有上面的属性我得到apache.commons.pool2.impl.BaseGenericObjectPool异常 . 所以我在spring data链接中提到了以下代码 .
@Configuration
public class AppConfig {
/**
* Type safe representation of application.properties
*/
@Autowired ClusterConfigurationProperties clusterProperties;
public @Bean RedisConnectionFactory connectionFactory() {
return new JedisConnectionFactory(
new RedisClusterConfiguration(clusterProperties.getNodes()));
}
}
我的下面有我的pom,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.7.2.RELEASE</version>
</dependency>
应用程序启动时出现以下错误,
在类路径资源中定义名为'redisConnectionFactory'的bean时出错[org / springframework / boot / autoconfigure / data / redis / RedisAutoConfiguration $ RedisConnectionConfiguration.class]:init方法的调用失败;嵌套异常是redis.clients.jedis.exceptions.JedisDataException:ERR未知命令'CLUSTER'