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库本身已经封装的很好了, 还封装个屁啊。。。