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);
}
YII 1.0 缓存使用的更多相关文章
- [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]
Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间.本文旨在抛砖引玉,如 ...
- 使用nginx部署Yii 2.0\yii-basic-app-2.0.5
nginx.conf #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log noti ...
- Yii Framework2.0开发教程(5)数据库mysql性能
继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...
- Yii 2.0.3 Advanced版控制器不能包含大写字母的Bug
Yii 2.0.3 Advanced版控制器不能包含大写字母的Bug,我是直接下载Archive文件安装的,非Composer方式安装 Yii 框架之前是支持在Url中包含大写字母的 最新的Yii 2 ...
- Asp.net Core2.0 缓存 MemoryCache 和 Redis
自从使用Asp.net Core2.0 以来,不停摸索,查阅资料,这方面的资料是真的少,因此,在前人的基础上,摸索出了Asp.net Core2.0 缓存 MemoryCache 和 Redis的用法 ...
- 阻止YII 1.0自动加载内置JQUERY库
有些时候我们会在项目中用到很多js库, 因为Yii 1.0框架会默认自动加载一些自带核心库, 很容易引起冲突问题, 下面的代码就展示了如何在Yii 1.0框架下取消jQuery自动加载. Open C ...
- Yii 2.0 query模式语法
项目使用Yii 2.0版本开发,个人一直喜好使用(new \yii\db\Query())模式操作数据,把增.删.查.改这4种情况的写法整理出来,方便查阅和记忆. 增加 - insert use Yi ...
- Yii 2.0版本调试输出SQL语句
项目是基于框架Yii 2.0开发的. 今天梳理一些数据统计功能代码的时候,想把当前运行的sql语句打印出来,然后放到navicat工具里面运行,并分析一下运行效率和调优方案,之前大部分时候都是写增加. ...
- yii2.0缓存篇之文件缓存
文件缓存: 在 frontend/config/main.php/components数组下添加: 'cache'=>[ 'class'=>'yii\caching\FileCa ...
随机推荐
- HTML DOCTYPE文档类型举例说明
HTML DOCTYPE文档类型举例说明 HTML4.01文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font.b等),不可以使用框架 < ...
- SystemClock.sleep和Thread.sleep的区别
在Java中我们处理线程同步问题时,处理延迟可能会使用Thread类的sleep方法,这里抛开concurrent类的一些方法,其实 Android平台还提供了一个SystemClock.sleep方 ...
- Sonya and Problem Wihtout a Legend
Sonya and Problem Wihtout a Legend Sonya was unable to think of a story for this problem, so here co ...
- Struts2.3.16日志(中)
Result Configuration --Result 配置 当一个操作类方法完成后,它将返回一个字符串.字符串的值是用来选择一个元素的结果.一个操作映射的结果往往会有一组代表不同的可能的结果.一 ...
- PAT (Advanced Level) 1093. Count PAT's (25)
预处理每个位置之前有多少个P,每个位置之后有多少个T. 对于每个A,贡献的答案是这个A之前的P个数*这个A之后T个数. #include<cstdio> #include<cstri ...
- Base64编码Java实现
一.什么是Base64编码 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一.Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输. 由于一些二进制字符在 ...
- BNU OJ 50998 BQG's Messy Code
#include <cstdio> #define _(l) int l #define ___(l,L) for (_(o)=0,x=l o*2;o<x;o++)O= L o; # ...
- 【BZOj 3670】【UOJ #5】【NOI 2014】动物园
http://www.lydsy.com/JudgeOnline/problem.php?id=3670 http://uoj.ac/problem/5 可以建出"KMP自动机"然 ...
- iOS系统弃用方法更新方法
-boundingRectWithSize:options:attributes:context:用法 - (CGSize)sizeWithFont:(UIFont *)font constraine ...
- ruby, gem install 出现网络错误
gem sources #查看目前的源 gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.or ...