gpt4 book ai didi

java - 无法使用 Jedis Lib 在本地连接到 aws 上的 Elasticache 集群

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

我们正在尝试使用使用 Jedis 库在本地运行的 Java 客户端访问 aws 上的 de ElasticCache (Redis)。我们能够按照以下步骤在本地使用 redis-cli 访问 redis here .

问题是,当我们尝试使用 Jedis 库连接到 aws Redis 时,NAT 公共(public)地址被转换为 redis 私有(private) IP 以计算插槽 (initializeSlotsCache)。我们找不到禁用此功能的方法。有什么解决方法吗?

以下是我们如何使用 Jedis 进行连接:

    factory = new JedisConnectionFactory(new RedisClusterConfiguration(this.clusterProperties.getNodes()));
factory.setUsePool(true);
factory.setPoolConfig(this.jedisPoolConfig());
factory.afterPropertiesSet();
return factory;

我们正在为每个节点使用映射的 NAT ips。但是 Jedis lib 将私有(private) ips 保存在缓存中,所以我们得到以下异常:

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

任何建议都会很棒!我们已经没有选择了。提前谢谢你。

最佳答案

您无法从 AWS 环境外部连接到 AWS 托管的 redis。

我们遇到过类似的问题,我们的解决方法是安装一个本地 Redis 实例用于开发和单元测试。

关于java - 无法使用 Jedis Lib 在本地连接到 aws 上的 Elasticache 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44004091/

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