无限循环内的redis连接

时间:2014-08-11 05:40:57

标签: php redis phpredis

我正在使用phpredis客户端

创建一个redis连接
$redis = new Redis();
$redis->pconnect(loclahost, 6336, 2) ;
$redis->select(15);

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

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

大约54个这样的个别进程正在运行,但一天一次或两次我收到“连接时读取错误”这样的错误。

请帮我解决。

1 个答案:

答案 0 :(得分: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
}