YII 1.0 缓存使用

在main.php的组件components中配置设置添加缓存

'cache'=>array(
     'class' => 'system.caching.CFileCache'
),

也就是framework/caching/CFileCache.php

 

片段缓存

在模板中使用

<?php if($this->beginCache('bolg_index',array('duration'=>3600))): ?>
.
.
.
 <?php $this->endCache();endif ?>

 

整页缓存

在控制器中设置 filters 方法,注意不要忘记了varyByParam,负责生成的页面都是一样的

public function filters(){
        return array(
            array(
                'system.web.widgets.COutputCache + index',
                'duration' => 3600,
                'varyByParam'=> array('id')
            )
        );
    }

 

数据缓存

数据缓存加分页实例

public function actionIndex($id){
        $page = max(intval(@$_GET['page']),1);
        $data = Yii::app()->cache->get('blog_category_'.$id.'_'.$page);
        if($data == false){
            $model = Article::model();
            $total = $model->count("catid = $id");//统计总条数

            $pager = new CPagination($total);//实例化分页类
            $pager->pageSize = 4;//每页显示多少条
            $limit = (($page-1)*4).',4';
            //查询数据
            $info = $model->findAllBySql("select id,title,thumb,description,inputtime from {{article}} where catid = $id order by id desc limit $limit");
            $data = array("articleInfo"=>$info,"pages"=>$pager);
            Yii::app()->cache->set('blog_category_'.$id.'_'.$page, $data,3600);
        }
        $this->render("index",$data);
    }

 

转载于:https://www.cnblogs.com/mr-amazing/p/4788488.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值