java无法使用Jedis Lib本地连接到aws上的ElasticCache群集
我们正在尝试使用一个使用jedislib在本地运行的Java客户端访问aws上的deelasticcache(Redis)。我们能够按照步骤here在本地使用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
任何建议都很好!我们别无选择。先谢谢你
# 1 楼答案
无法从AWS环境外部连接到AWS托管的redis
我们曾经遇到过类似的问题,我们所做的工作是为开发人员和单元测试安装一个本地redis实例