1

我正在使用 phpredis 客户端创建一个 redis 连接

$redis = new Redis();
$redis->pconnect(loclahost, 6336, 2) ;
$redis->select(15);

现在我在无限循环中使用了 $redis 对象。

while(true){
   ///using redis connection object.
}

大约有 54 个这样的单独进程正在运行,但一天中会出现一两次我收到类似“连接读取错误”之类的错误。

请帮我修复它。

4

1 回答 1

0

我认为这样的事情会奏效。 注意我还没有测试过这个,而且我已经很长时间没有编写 PHP 了。

function redisConnection() {
    try {
        $redis = new Redis()
        $redis->pconnect(localhost, 6336, 2);
        $redis->select(15);
        $redis->ping();
        return $redis;
    } catch (Exception $e) {
        throw new Exception("Can not connect: " . $e->getMessage());
    }
}

$redis = redisConnection();
while (true) {
    try {
        $redis->ping();
    } catch {
        $redis = redisConnection();
    }
    // Rest of code
}
于 2014-08-11T06:02:15.660 回答