当前位置: 首页 > 知识库问答 >
问题:

原因:木卫一。莴苣果心RedisCommandExecutionException:移动8731 172.19.122.164:6379

仲承福
2023-03-14

我们有一个Spring Boot应用程序,它被部署到AWS的EC2实例中包含的tomcat上。在本地我有redis设置。在我的申请中。yml我的redis配置如下:

redis:
  enabled: true
  clusterNodes: localhost:6379
  properties:
    lockExpiryMillis: 3000
    lockRetryAttempts: 3
    lockRetryWaitMillis: 50

我们用java对其进行了如下配置:

       {
           RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(clusterNodes.get(0).split(":")[0]);
           return new LettuceConnectionFactory(config);
       }
       RedisClusterConfiguration config = new RedisClusterConfiguration(clusterNodes);

而我在QA中的集群负载平衡器url如下所示:

aq***************亚马逊。com:6379实际上隐藏了所有redis集群

我在本地测试了这个配置。。。。。。还有QA url。

但是不断地得到例外

原因:木卫一。莴苣果心RedisCommandExecutionException:移动8731 172.19.122.164:6379

注意:版本和属性都很好,因为它在本地工作,没有任何例外

共有1个答案

欧阳斌
2023-03-14

所以这个问题其实很愚蠢。。。。。。当计数为1时,我正在配置重新统计配置。。。。。虽然在我的例子中,我没有得到实际的redis URL,但我只是得到本地均衡器单个redis URL。

在QA中,当我用实际的redis url更新redis url时,它工作正常,意味着没有由:io引起。莴苣果心RedisCommandExecutionException。

因为我们应该使用负载均衡器url,而不是实际的url,所以我必须更新代码,只有当redis是本地主机时(因为当然没有配置集群),才能在独立模式下启动redis,而在其他时间,我是在RedisClusterConfiguration中启动它的。

更改代码部分:

 if(clusterNodes.contains("localhost"))
        {
            RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("localhost");
            return new LettuceConnectionFactory(config);
        }
        
        RedisClusterConfiguration config = new RedisClusterConfiguration(Arrays.asList(clusterNodes));
 类似资料:
  • 我正在开发JDK 1.8,但我不知道为什么“发布”不起作用。Redis“set”命令正在处理数据。 代码段: 从日志调试输出:

  • 我使用redis与阿卡,所以我不需要阻止调用。生菜内置了异步未来调用。但是Jedis是Redis推荐的客户。有人能告诉我我是否正确地使用了它们。如果是这样,哪一个更好。 绝地武士我正在使用一个静态绝地武士连接池来获取con,并使用Akka future回调来处理结果。我在这里关心的是,当我使用另一个线程(可调用)来获得结果时,该线程最终将阻止该结果。而莴苣可能有更有效的方法。 莴苣 如果莴苣是异步

  • 运行JavaGroovy脚本并更新到最新的Groovy管道时。谢谢你的帮助。 我得到了一个异常:在对象组织中的字段线程中的字段程序中的字段e中的字段调用者中的字段内局部变量。詹金西。插件。工作流程。cps。CpsThreadGroup@3123aac2原因:java。木卫一。NotSerializableException:hudson。模型运行$Artifact我认为问题的代码是 def tar

  • 当我在独立java代码中运行相同的代码时,我会得到响应,而当我在web应用中运行时,我会得到这个错误。 Java 1.8和tomcat 6.0.53的原因是:Java。木卫一。EOFEException:SSL对等端错误关闭 代码:

  • 这类似于如何指定要运行哪个场景的问题 在问题中,他们给出了每个场景使用一个标记的示例。我想知道是否可以添加更多标签,比如在TestNG中,可以添加多个组。

  • 我有一个带有一个主服务器和两个从服务器的Elasticache设置。我仍然不确定如何传递主从RedisURI列表以构建用于。我只看到对具有单个主机和端口的标准配置的支持。 我知道在为Redis主/从配置Spring Data Redis时会遇到类似的问题 但我认为它不适用于ElastiCache主/从设置,因为目前上述代码将尝试使用MasterSlaveTopologyProvider来发现从IP