gpt4 book ai didi

java - 使用 Java Redis 客户端 (Lettuce) 连接到 Amazon ElastiCache

转载 作者:IT王子 更新时间:2023-10-29 06:05:28 28 4
gpt4 key购买 nike

. .可以使用 java redis 客户端(生菜)从我的本地计算机连接到 Amazon Elastic Cache 吗?

我已经在安全组中定义了入站规则到 TCP 端口 6379 和 SSH 端口 22 到任何 IP 地址。

我的连接代码是:

RedisClient redisClient = new RedisClient("CacheCluster Endpoint", 6379);

RedisConnection<String, String> connection = redisClient.connect();

connection.set("key", "Hello, Redis!");

connection.close();
redisClient.shutdown();

我运行这个 java 我得到了:

Exception in thread "main" com.lambdaworks.redis.RedisConnectionException: Unable to connect to mycachecluster.b4ujee.0001.usw2.cache.amazonaws.com/172.31.34.211:6379
at com.lambdaworks.redis.AbstractRedisClient.initializeChannel(AbstractRedisClient.java:214)
at com.lambdaworks.redis.RedisClient.connectAsync(RedisClient.java:322)
at com.lambdaworks.redis.RedisClient.connectAsync(RedisClient.java:303)
at com.lambdaworks.redis.RedisClient.connect(RedisClient.java:259)
at com.lambdaworks.redis.RedisClient.connect(RedisClient.java:238)
at com.lambdaworks.redis.RedisClient.connect(RedisClient.java:222)
at project1.JavaRedis.main(JavaRedis.java:17)
Caused by: java.net.ConnectException: Connection timed out: no further information: mycachecluster.b4ujee.0001.usw2.cache.amazonaws.com/172.31.34.211:6379
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:224)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:289)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
at java.lang.Thread.run(Thread.java:619)

所以我的问题是:我做错了什么?我必须使用 ClusterRedis EndPoint 或 EC2 DNS 来建立连接吗?

请帮忙!!!

谢谢!!!

最佳答案

不,您无法连接到它,因为它没有公共(public) IP。 DNS 名称解析为私有(private) IP,172.31.34.211,只能从您的 AWS VPC 访问。
此外,对于连接,您需要使用 DNS,而不是 IP,因为节点的 IP 可能会更改。如果您需要使用 Redis 在本地进行开发,您可以轻松地在本地机器上安装一个实例。

关于java - 使用 Java Redis 客户端 (Lettuce) 连接到 Amazon ElastiCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32608147/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com