cacheyii Model Dependent Cache Invalidation

  1. Requirements
  2. Resources

Invalidates a cached item when any of the Model dependencies you have specified have been updated since that cached item was created.

Example: if you list Model Post and Model Comment as dependancies for an item to cache then any update to either Post or Comment will invalidate that cache item.

Requirements ¶

Yii 1.1 or above

Installation ¶

>1. git clone git@github.com:evan108108/CacheYii.git >2. Place CacheYii in your 'protected/extensions' directory >3. In your protected/config/main.php

'import'=>array(
    ...
    'ext.CacheYii.*',
),

>4. Add this behavor to any model you intend to use as a cache dependency

function behaviors() {
    'updateCacheMapBehavior' => array(
        'class'=>'ext.CacheYii.EUpdateCacheMapBehavior',
        'cacheExp'=>0, //This is optional and the default is 0 (0 means never expire)
        'modelName'=>__CLASS__, //This is optional as it will assume current model
    ),
}
Usage ¶
$model = EDCache::get("YOUR_UNIQUE_ID_HERE", array("Post", "Comments"));
if($model===false)
{
   $model = Post::model()->with('comments')->findAll();
   EDCache::set("YOUR_UNIQUE_ID_HERE", $model, 3600);
}
Get And Set (GAS) ¶
$models = EDCache::gas("YOUR_UNIQUE_ID_HERE", array("Post", "Comments"), 3600, function() use ($model) {
	return $model->findAll();
});
Delete ¶
EDCache::delete("YOUR_UNIQUE_ID_HERE");
Documentation ¶
EDCache::get(YOUR_UNIQUE_ID, ARRAY_OF_MODEL_DEPENDENCIES);
EDCache::set(YOUR_UNIQUE_ID, DATA_TO_BE_CACHED, CACHE_EXPIRATION_IN_SECONDS);

Resources ¶

CacheYii on GitHub

1 0
7 followers
822 downloads
Yii Version: 1.1
License: BSD-2-Clause
Category: Caching
Developed by: evan108108 evan108108
Created on: Sep 12, 2012
Last updated: 12 years ago

Downloads

show all

Related Extensions