Java 无法使用Jedis Lib本地连接到aws上的ElasticCache群集

Java 无法使用Jedis Lib本地连接到aws上的ElasticCache群集,java,redis,local,nat,jedis,Java,Redis,Local,Nat,Jedis,我们正在尝试使用一个使用jedislib在本地运行的Java客户端访问aws上的deelasticcache(Redis)。按照以下步骤,我们可以在本地使用redis cli访问redis 问题是,当我们尝试使用Jedis lib连接到aws Redis时,NAT公共地址被转换为Redis私有ip,以便计算插槽(initializeSlotsCache)。我们找不到禁用此功能的方法。有什么解决办法吗 以下是我们如何使用绝地连接: factory = new JedisConnection

我们正在尝试使用一个使用jedislib在本地运行的Java客户端访问aws上的deelasticcache(Redis)。按照以下步骤,我们可以在本地使用redis cli访问redis

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

以下是我们如何使用绝地连接:

    factory = new JedisConnectionFactory(new RedisClusterConfiguration(this.clusterProperties.getNodes()));
    factory.setUsePool(true);
    factory.setPoolConfig(this.jedisPoolConfig());
    factory.afterPropertiesSet();
    return factory;
我们正在为每个节点使用映射的NAT IP。但是绝地武士库正在缓存中保存私有IP,因此我们得到以下例外:

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

任何建议都很好!我们别无选择。提前感谢。

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

我们曾经遇到过类似的问题,我们所做的工作是为开发人员和单元测试安装一个本地redis实例