Yii кэширование

1. Способ через модель
	public function search() {
		$dependecy = new CDbCacheDependency('SELECT MAX(update_time) FROM {{post}}');
		return new CActiveDataProvider(Post::model()->cache(3600, $dependecy, 2), array(
			'criteria'=> $criteria,
	));
	
--- или ---
	return new CActiveDataProvider(self::model()->cache(300, NULL, 2), array(
		'criteria'=>$criteria,
	));
-------------------------------------------------------------
2. Способ через контроллер
	$model = Animals::model()->cache(300)->findByAlias($alias);
-------------------------------------------------------------
3. Способ через контроллер CActiveDataProvider
		$dataProvider=new CActiveDataProvider(News::model()->cache(300), array(
		'criteria'=>$criteria,
	));
-------------------------------------------------------------



http://habrahabr.ru/post/140414/

В конфиге:
'components' => array(
    'cache' => array(
        'class' => 'CDbCache',
    ),


Добавляем класс CTagCacheDependency в components


В модели:
	protected function beforeFind() {
			$this->cache(30, new CTagCacheDependency(get_class($this)));
			parent::beforeFind();
	}

    protected function afterDelete()
        {
            parent::afterDelete();
            Yii::app()->cache->set(get_class($this), microtime(true), 0);
        }
        
    protected function afterSave(){
        parent::afterSave();
        Yii::app()->cache->set(get_class($this), microtime(true), 0);
    }