一旦开启一个不关闭的脚本,就需要一个ping函数去不断的校验的链接。下面是一个检验当前redis链接是否有效的方法。
function getRedis() {
    global $redis;
    if (empty($redis) || !($redis instanceof Redis)) {
        global $redis_config;
        $redis = new Redis();
        $redis->connect($redis_config['host'], $redis_config['port']);
        return $redis;
    }
    if (!method_exists($redis, 'ping')) {
        global $redis_config;
        $redis = new Redis();
        $redis->connect($redis_config['host'], $redis_config['port']);
        return $redis;
    }
    $response = $redis->ping();
    if ($response != '+PONG') {
        global $redis_config;
        $redis = new Redis();
        $redis->connect($redis_config['host'], $redis_config['port']);
        return $redis;
    }
    return $redis;
}