yii2缓存

缓存组件

数据缓存需要缓存组件提供支持,它代表各种缓存存储器, 例如内存,文件,数据库。

'components' => [
    'cache' => [
              'class' => 'yii\caching\FileCache',
              // 上面这种是Yii默认的缓存方式,标准文件缓存数据,当然也可以使用其他方式,如:
              // 'class' => 'yii\caching\MemCache',
              // 'class' => 'yii\caching\ApcCache',
          ],
]

组件使用

public function behaviors() {
          return[

            'cache' =>  [
                 'class'=>'yii\filters\PageCache', //页面缓存
                 'duration'=>100,//缓存时间
                 'only'=>['article'], //缓存的页面
                 'dependency'=>[     //缓存依赖
                     'class'=>'yii\caching\FileDependency',//文件缓存依赖关系
                     // 'fileName'=>'cache.php',//根据根目录的txt文件是否有变化 ,实际上是根据文件的最后时间而判断的,判断是否需要更新缓存
                    // 'class' => 'yii\caching\DbDependency',//DB缓存依赖关系
                    // 'sql' => 'SELECT COUNT(*) FROM document',//判断是否有变化进行更新缓存
                 //'class'=>'yii\caching\ExpressionDependency',//通过地址栏的值判断是否需要更新缓存
                 //'expression'=>Yii::$app->request->get('id'),

                 ]
             ]
         ];
     }

片段缓存

<?php 
        $id = Yii::$app->request->get('id');
        $dependency = [
            'class' => 'yii\caching\DbDependency',
            '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();
        }
        ?>

相关参考:

参考1

参考2

参考3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值