本文使用yii2数据库缓存依赖,主要解决一次查询表多次利用,减少对数据表的查询,把数据查出来的值保存在缓存中。
- 本文使用标准文件存储缓存数据
- 使用 DbDependency 数据库缓存依赖

/**
* @return string
* 数据库缓存依赖
*/
public function actionTestDb(){
$caches = Yii::$app->cache;
// $caches->flush();
//die();
echo '数据库缓存依赖:<br/>';
$res = $caches->get('dbCaches');
$dependency = new DbDependency(['sql' => 'select count(*) from member']); //数据库依赖
if ($res === false){
echo "进入缓存<br/>";
$res = Member::find()->all();
$caches->set('dbCaches',$res,300,$dependency);
}
print_r($res);
}



第三次访问前先在数据库中增加一条数据,查看是否更新缓存

访问页面查看是否更新缓存
