yii2使用缓存
yii2的页面缓存
适用于缓存首页,关于我们等页面变化很少的html页面。
public function behaviors() {
return[
[
"class"=>"yiifiltersPageCache", //页面缓存
"duration"=>100,//缓存时间
"only"=>["article"], //缓存的页面
"dependency"=>[ //缓存依赖
// "class"=>"yiicachingFileDependency",//文件缓存依赖关系
// "fileName"=>"cache.php",//根据根目录的txt文件是否有变化 ,实际上是根据文件的最后时间而判断的,判断是否需要更新缓存
// "class" => "yiicachingDbDependency",//DB缓存依赖关系
// "sql" => "SELECT COUNT(*) FROM document",//判断是否有变化进行更新缓存
"class"=>"yiicachingExpressionDependency",//通过地址栏的值判断是否需要更新缓存
"expression"=>Yii::$app->request->get("id"),
]
]
];
}
片段缓存
<?php
$id = Yii::$app->request->get("id");
$dependency = [
"class" => "yiicachingDbDependency",
"sql" => "select max(update_time) from document where id=$id",
];
if ($this->beginCache($id, ["duration" => 3600,"dependency" => $dependency])) {
$number = $article[0]["view"];
$view = Yii::$app->view;
$view->params["view"] = $view;
?>
<?php
$this->endCache();
}
?>
判断get地址栏的id是否有缓存,有的话直接取缓存。没有的话数据库取并进行缓存。远离跟数据缓存一样,每个id都必须是唯一的
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: yii2记录admin操作日志
- 下一篇: yii2使用AR类进行增删改查操作