Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到非本地的redis群集时,与phpredis发生RedisClusterException_Php_Redis_Phpredis - Fatal编程技术网

连接到非本地的redis群集时,与phpredis发生RedisClusterException

连接到非本地的redis群集时,与phpredis发生RedisClusterException,php,redis,phpredis,Php,Redis,Phpredis,我在PHP5.5.9中使用phpredis(构建于2016年2月25日)。使用单个redis实例(版本3.0.7)(远程和本地redis实例)成功测试了该扩展 这是连接到已配置redis群集(无sentinel,仅通过配置)的代码 当我们在与redis实例相同的服务器上执行此代码时,我们成功地获得了所有的masters和foo1的值。但是,当我们在另一个Web服务器上执行代码时,我们从集群中获得以下主机: array (size=3) 0 => array (size=2)

我在PHP5.5.9中使用phpredis(构建于2016年2月25日)。使用单个redis实例(版本3.0.7)(远程和本地redis实例)成功测试了该扩展

这是连接到已配置redis群集(无sentinel,仅通过配置)的代码

当我们在与redis实例相同的服务器上执行此代码时,我们成功地获得了所有的masters和foo1的值。但是,当我们在另一个Web服务器上执行代码时,我们从集群中获得以下主机:

array (size=3)
  0 => 
    array (size=2)
      0 => string '127.0.0.1' (length=9)
      1 => int 7005
  1 => 
    array (size=2)
      0 => string '127.0.0.1' (length=9)
      1 => int 7000
  2 => 
    array (size=2)
      0 => string '127.0.0.1' (length=9)
      1 => int 7001
获取该值将失败,并出现RedisClusterException,消息为“无法与群集中的任何节点通信”

我不确定这是库中的错误还是我使用库的方式错误。代码与文档中的代码相同。我认为一个问题是,我们使用本地主机ip而不是远程ip获得主机


感谢您的帮助。

终于找到了问题所在这在客户端库中什么都不是,只是集群配置中的一个错误

创建时使用了文档中的以下代码段:

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \
127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
当然,正确的命令应该是:

./redis-trib.rb create --replicas 1 192.168.127.203:7000 192.168.127.203:7001 \
192.168.127.203:7002 192.168.127.203:7003 192.168.127.203:7004 192.168.127.203:7005

如果有人有类似的问题,请提供信息。

最终发现了问题所在这在客户端库中什么都不是,只是集群配置中的一个错误

创建时使用了文档中的以下代码段:

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \
127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
当然,正确的命令应该是:

./redis-trib.rb create --replicas 1 192.168.127.203:7000 192.168.127.203:7001 \
192.168.127.203:7002 192.168.127.203:7003 192.168.127.203:7004 192.168.127.203:7005

如果有人有类似的问题,请提供信息。

谢谢您,我正在使用Predis,但遇到了相同的问题!谢谢你,我正在使用Predis,但也遇到了同样的问题!