一旦开启一个不关闭的脚本,就需要一个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;
}