public static function addInstanceToPool($object, $key = null) { if (Propel::isInstancePoolingEnabled()) { static::defaultAddInstanceToPool($object, $key); GlobalCache::set(static::getCacheKey($object), $object); } }
public function paginate(ModelCriteria $query, $page = 1, $maxPerPage = 25) { $queryMd5 = md5($query->toString()); $key = $query->getTableMap()->getName() . '_query_' . $queryMd5 . '_' . $page . '_' . $maxPerPage; $records = GlobalCache::get($key); if (empty($records) === true) { $records = $query->paginate($page, $maxPerPage); if ($records->isEmpty() === false) { GlobalCache::set($key, $records); } } return $records; }
public static function processLock($singleton = false) { $processName = md5(basename($_SERVER['SCRIPT_FILENAME'])); $serverName = php_uname('n'); $key = 'process_lock_' . $processName; if ($singleton === true && GlobalCache::exists($key) !== false) { exit; } if (APPLICATION_ENV != Environment::LOCAL) { $maxTime = 10; sleep(rand(0, $maxTime)); $processName = md5(basename($_SERVER['SCRIPT_FILENAME'])); $serverName = php_uname('n'); $key = 'process_lock_' . $processName; GlobalCache::set($key, $serverName); sleep($maxTime + 5); $winner = GlobalCache::get($key); if ($winner !== $serverName) { exit; } } }
protected function addAttempt($userId) { $this->loginAttempts = empty($this->loginAttempts) ? 1 : $this->loginAttempts + 1; GlobalCache::set($this->attemptLimitKey($userId), $this->loginAttempts, 300); }