asaraff2
asaraff2

Reputation: 81

How to configure ElastiCache Redis for Spring Data Access

I am trying to setup ElastiCache to use with a Java Application. I have based my setup based on this documentation: https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html

The EC2 instance where the Java (8) App runs is in a VPC. I have tried an ElastiCache instance both in VPC and no VPC. However, I always got,

redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused

If I install Redis myself on an EC2 instance and connect to it, the app is able to connect to the Redis Cache!

I have setup proper authorization with Security-group from EC2 to Cache-Security but no luck. I just can't make the 'connection'. Any sample connection snippet would be really helpful.

Redis is setup this way in the 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;
   }

The various versions:

Jedis- 2.6.2, Spring- 4.1.6, Spring-data-> 1.5.0

Upvotes: 8

Views: 5493

Answers (2)

sundb
sundb

Reputation: 490

telnet redis-ip 6397

Determine if redis can be connected

Upvotes: 1

user1317422
user1317422

Reputation: 257

redisConnectionFactory.setPort(6397);

should probably be

redisConnectionFactory.setPort(6379); //default redis port

Upvotes: 0

Related Questions