我是 Redis 和 Amazon MemoryDB 的新手。 目前,我可以按照 aws 文档.
使用 Amazon MemoryDB 启动 Redis 集群redis-cli
为我链接到我的 redis 集群(从 VPC 内的另一个 EC2 实例):
>> redis-cli -c --tls -h my-redis-cluster.idocmu.memorydb.us-west-2.amazonaws.com -p 6379
my-redis-cluster.idocmu.memorydb.us-west-2.amazonaws.com:6379> PING
PONG
当我尝试在同一个 EC2 实例中使用 python/Java 连接到它时,连接从不工作:
>> python3
Python 3.7.16 (default, Dec 15 2022, 23:24:54)
[GCC 7.3.1 20180712 (Red Hat 7.3.1-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import redis
>>> r = redis.RedisCluster(host="my-redis-cluster.idocmu.memorydb.us-west-2.amazonaws.com", port=6379)
... python3 fronzen here...
Java 客户端 Jedis 也一样:
import redis.clients.jedis.Jedis;
Jedis jedis = new Jedis("my-redis-cluster.idocmu.memorydb.us-west-2.amazonaws.com", 6379);
jedis.set("key100", "value100");
... java connection timeout here...
我的理解有问题吗? 为什么 redis-cli 能够连接而我的脚本不能连接?
还尝试了 Redis 页面中列出的其他一些客户端: https://redis.io/resources/clients/ Redission 也无法连接。 看来我的设置一定有问题。但是我就是不明白为什么redis-cli能够连接。