/** * * @brief 最新发布的文章,默认存放50条 * @param int $type * @param int $majory * @param int $limit */ public static function getNewArticle($majoryId, $limit = 10, $offset = 0) { $limit = $limit < 51 ? $limit : 50; $key = 'new_' . $majoryId; //list时间默认5分钟; $t = getMicrosecond(); $result = DBRedis::lRange($key, $offset, $limit + $offset - 1, self::$_TIME); if ($result) { return array_map('unserialize', $result); } else { //echo 'new mysql/'; $sql = self::_buildSql($majoryId, 'new'); $result = DBMysqli::getInstance()->getAll($sql); foreach ($result as $value) { DBRedis::rPush($key, serialize($value)); } // echo $sql.' -> '.((getMicrosecond()-$t)/1000).'<br>'; return array_slice($result, 0, $limit); } }
private static function _connect() { if (self::$_CONNECT == 0) { //检查端口是否可用 if (!self::_checkPort()) { self::$_CONNECT = 1; return false; } self::$_INSTANCE = new Redis(); self::$_INSTANCE->connect(DBConfig::$REDIS['host'], DBConfig::$REDIS['port']); if (isset(self::$_INSTANCE->socket) && is_resource(self::$_INSTANCE->socket)) { self::$_CONNECT = 2; return true; } else { self::$_CONNECT = 1; return false; } } elseif (self::$_CONNECT == 1) { return false; } return true; }