Redis连接类代码, 注意, 本代码是阻塞的,需要搭配Yaf配置文件。
class Redis_Worker
{
/**
* 业务逻辑用长连接线程
* @var array
*/
private static $_redisp = [];
/**
* 启动连接
* @access public static
* @param integer $dbIndex
* @return object
*/
public static function connect(int $dbIndex = 0)
{
$redis = new \Redis();
$config = Yaf\Registry::get('config')->redis;
$redis->connect($config->host, (int) $config->port);
$redis->auth($config->auth);
$redis->select($dbIndex);
return $redis;
}
/**
* 长连接句柄
* 根据库序号产生多个句柄容器
* @access public
* @param integer $dbIndex 库号
* @return object
*/
public static function pconnect(int $dbIndex = 0)
{
if (!isset(self::$_redisp[$dbIndex])) {
self::$_redisp[$dbIndex] = new \Redis();
}
$redis = &self::$_redisp[$dbIndex];
$config = Yaf\Registry::get('config')->redis;
$redis->pconnect($config->host, (int) $config->port);
$redis->auth($config->auth);
$redis->select($dbIndex);
return self::$_redisp[$dbIndex];
}
}为什么不封装其他数据操作方法?
简直多余。不想浪费别人脑细胞,phpredis库本身已经封装的很好了, 还封装个屁啊。。。