/** * Clean some cache records * * Available modes are : * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags * ($tags can be an array of strings or a single string) * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} * ($tags can be an array of strings or a single string) * * @param string $mode Clean mode * @param array $tags Array of tags * @return boolean true if no problem */ public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) { switch ($mode) { case Zend_Cache::CLEANING_MODE_ALL: $boolFast = $this->_fastBackend->clean(Zend_Cache::CLEANING_MODE_ALL); $boolSlow = $this->_slowBackend->clean(Zend_Cache::CLEANING_MODE_ALL); return $boolFast && $boolSlow; break; case Zend_Cache::CLEANING_MODE_OLD: return $this->_slowBackend->clean(Zend_Cache::CLEANING_MODE_OLD); case Zend_Cache::CLEANING_MODE_MATCHING_TAG: $ids = $this->_slowBackend->getIdsMatchingTags($tags); $res = true; foreach ($ids as $id) { $res = $res && $this->_slowBackend->remove($id) && $this->_fastBackend->remove($id); } return $res; break; case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: $ids = $this->_slowBackend->getIdsNotMatchingTags($tags); $res = true; foreach ($ids as $id) { $res = $res && $this->_slowBackend->remove($id) && $this->_fastBackend->remove($id); } return $res; break; default: Zend_Cache::throwException('Invalid mode for clean() method'); break; } }
/** * Чистит кеши * * @param int $cMode Режим очистки кеша * @param array $aTags Список тегов, актуально для режима Zend_Cache::CLEANING_MODE_MATCHING_TAG * @return bool */ public function Clean($cMode = Zend_Cache::CLEANING_MODE_ALL, $aTags = array()) { if (!$this->bUseCache) { return false; } return $this->oBackendCache->clean($cMode, $aTags); }
/** * Clean some cache records * * Available modes are : * \Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) * \Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) * \Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags * ($tags can be an array of strings or a single string) * \Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} * ($tags can be an array of strings or a single string) * \Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags * ($tags can be an array of strings or a single string) * * @param string $mode Clean mode * @param string[] $tags Array of tags * @return bool true if no problem */ public function clean($mode = \Zend_Cache::CLEANING_MODE_ALL, $tags = []) { return $this->_backend->clean($mode, $tags); }