入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

yii2使用缓存

创建时间:2016-10-11 投稿人: 浏览次数:675

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。