【问题标题】:Snc_redis wrongly redirect to 127.0.0.1Snc_redis 错误地重定向到 127.0.0.1
【发布时间】:2021-03-12 03:56:48
【问题描述】:

我想通过 HA 连接到一个 redis 集群。我的配置是这样的:

snc_redis:
    clients:
        cluster_test_ha:
            type: predis
            alias: cluster_test_ha
            dsn: "%redis_cluster_ha_address%"
            options:
                replication: false
                cluster: 'redis'
                connection_timeout: 10
                read_write_timeout: 10

我是这样使用它的:

$redisClient = $this->getContainer()->get('snc_redis.cluster_test_ha');
try {
       $key="test125412";
       $redisClient->set($key, 12);
} catch (\Throwable $e) {
    dump($e->getMessage());
}

当我连接到将持久化$key 的节点时就可以了。但是当redis向另一个节点发送重定向时,它会尝试连接到127.0.0.1而不是redis服务器ip,所以我得到了这个异常:

Connection refused [tcp://127.0.0.1:7002]

我正在使用 snc_redis v 2.1.13

P.S:我试过rediscli,它重定向正确,所以redis方面似乎没有问题。

【问题讨论】:

    标签: php symfony redis-cluster predis


    【解决方案1】:

    我发现问题出在 redis 方面。节点在正确的 IP 地址上知道其他节点,但在 127.0.0.1 上知道自己。你可能会在这里看到(我用redis server ip 标签掩盖了真实的IP地址):

    所以我只是连接到每个节点并将其设置为meet 本身在正确的 ip asdress 上(不是127.0.0.1)。如您所见,之后它发现自己在正确的 IP 地址上,我的问题就解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-02
      • 2023-03-07
      • 2014-06-20
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      相关资源
      最近更新 更多