/** * @param modelResultSet $resultSet */ public static function cache($resultSet, $results = null, $count = false) { if (!$resultSet->isCacheEnabled()) { return; } $lifetime = $resultSet->getCacheLifetime(); if ($lifetime === null) { $lifetime = 300; } $cacheKey = md5($count ? $resultSet->getCountSql() : $resultSet->getSql()); if ($results === null) { $results = array(); foreach ($resultSet as $result) { $results[] = $result; } } // try to use Memcache if ($memcache = self::getMemcache()) { if ($memcache->set($cacheKey, $results, false, $lifetime)) { return; } } self::$_cache[$cacheKey] = $results; }