java-aws elasticache-redis-连接超时

3zwtqj6y  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(643)

我是全新的redis和aws弹性服务。我创建了一个redis集群(5.0.6v),有1个shard,2个节点,传输中没有加密,静止时没有加密,没有redis auth,多az被禁用。
我可以看到主端点,reader enpoint,点击cluster,可以看到两个不同于主端点和reader端点的节点端点。
我正在使用普通maven项目的莴苣来连接,但是连接超时了。我尝试了以上所有端点的组合,没有运气。我已经将我的ec2instance(运行代码的地方)添加到elasticache子网组中。还是不走运。
使用的代码:

RedisClusterClient clusterClient = RedisClusterClient.create(Arrays.asList(node1, node2));
StatefulRedisClusterConnection<String, String> connection = clusterClient.connect();
RedisAdvancedClusterAsyncCommands<String, String> asyncCommands = connection.async();

pom(仅依赖项):

<dependency>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
            <version>5.2.2.RELEASE</version>
 </dependency>

我有纯javamaven的用例,没有springboot这样的框架
谢谢你的帮助。

r8xiu3jd

r8xiu3jd1#

如果有人在寻找连接到elasticache primary的类似问题,这可能会有所帮助:修改安全组入站流量并解决以下客户端创建模型:

RedisURI upstreamUri = RedisURI.Builder.redis(primayNodeUrl, 6379).build();
RedisClient redisClient = RedisClient.create();
StatefulRedisMasterReplicaConnection<String, String> connection = 
MasterReplica.connect(
                redisClient,
                StringCodec.UTF8,
                upstreamUri);
connection.setReadFrom(ReadFrom.REPLICA_PREFERRED);
RedisAsyncCommands<String, String> asyncCommands = connection.async();

相关问题