Exemplo n.º 1
0
 /**
  * @brief redis响应数据回调上层和资源回收
  * @param type $result
  * @param type $callback
  */
 public function response($result, $callback, \Aha\Storage\Memory\Rediscli $redisCli, $error = null)
 {
     try {
         call_user_func($callback, $result, $error);
     } catch (\Exception $e) {
         echo "Redis Response Callback Exception: {$e->getMessage()}" . PHP_EOL;
     }
     //如果此连接已经关闭 放入回收器 等待触发资源回收
     if (!$redisCli->getClient()->isConnected()) {
         $this->_connectionNum--;
         \Aha\Storage\Memory\Pool::redisCliGc($redisCli);
         return $this->_trigger();
     }
     //未关闭则当作长连接放入连接池
     $this->_idlePool[] = $redisCli;
     return $this->_trigger();
 }