Beispiel #1
0
 /**
  * @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;
 }