Cashing(Önbelleğe alma), bir web uygulamasının performansını artırmanın ucuz ve etkili bir yoludur. Veriler önbellekte depolanarak ve istendiğinde önbellekten sunularak, verileri her seferinde sıfırdan oluşturmak için gereken zamandan tasarruf sağlanır.
Genel Olarak cache kullanmak için öncelikle backend/comfig/main.php
dosyasında cache class'ını eklemek zorundayız.
'components' => [
'cache' => [
'class' => 'yii\caching\Dependency',
],
....
]
Daha sonra veritabanın da istenilen tablolara updated_at adında yeni bir kolon ekleyerek Controller dosyasında aşağıda ki kodlar kullanılabilir.
public function actionIndex()
{
$db = Yii::$app->db;// or Category::getDb()
$dep = new \yii\caching\DbDependency();
$dep->sql = 'SELECT MAX(updated_at) FROM slider';
$slider = $db->cache(function ($db) {
return \backend\models\Slider::find()->where(['birimID' => 1])->all();
},1000,$dep);
return $this->render('index',['slider'=>$slider]);
}
link