我正在尝试将ElastiCache设置为与Java应用程序一起使用。我已经根据以下文档建立了我的设置:
https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html
运行Java(8)应用程序的EC2实例位于VPC中。
我已经在VPC和无VPC中都尝试了一个ElastiCache实例。但是,我总是
redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused
如果我自己在EC2实例上安装Redis并连接到该实例,则该应用程序可以连接到Redis缓存!
我已经使用从EC2到Cache-Security的Security-group设置了适当的授权,但是没有运气。我就是无法建立“连接”。任何示例连接片段都将非常有用。
Redis是通过APP Config中的这种方式设置的:
@Bean
public JedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
redisConnectionFactory.setHostName(<cache-node>);
redisConnectionFactory.setPort(6397);
redisConnectionFactory.setUsePool(true);
redisConnectionFactory.setTimeout(3600);
return redisConnectionFactory;
}
各种版本:
Jedis- 2.6.2, Spring- 4.1.6, Spring-data-> 1.5.0
最佳答案
redisConnectionFactory.setPort(6397);
应该是
redisConnectionFactory.setPort(6379); //default redis port