Yii 1.1.17 六、开启路由与使用缓存
一、开启路由
1、在配置文件main.php的components中 定义如下:
// 定义路由
'urlManager'=>array( // URL模式为PATHINFO
'urlFormat'=>'path', //隐藏index.php入口名
'showScriptName' => false, //路由规则
'rules'=>array( //要映射的前台地址 => 实际地址 的路由映射
'index.html' => array('index/index'), //映射到 前台首页(记得更改"首页"链接的url为index.html,保持一致)
'c_<id:\d+>' => array('category/index', 'urlSuffix' => '.html'),
'<id:\d+>' => array('article/index', 'urlSuffix' => '.html') ),
),
2、配置Apache开启路由
资料很多,就不写了。
二、使用缓存
1、配置
在 main.php 的组件 components 中设置缓存
// 开启缓存
'cache' => array(
// 定义缓存方式为 文件缓存
'class' => 'system.caching.CFileCache'
),
2、使用
片段缓存
在视图中,
<?php if($this->beginCache('nav', array('duration' => 3600 * 24))): /* 片段缓存,“秒” 为单位,缓存1天 */?>
// HTML内容
<?php $this->endCache(); endif; ?>
整页缓存
在控制器的filters()方法中,
/**
* 过滤器:对index操作进行整页缓存
* @return [type] [description]
*/
public function filters(){
return array(
array(
'system.web.widgets.COutputCache + index', //对index操作设置整页缓存
'duration' => 3600, //缓存1小时
'varyByParam' => array('id') //通过id进行缓存 )
);
}
数据缓存
在控制器的方法中,
if(!$value = Yii::app()->cache->get($id)){ //如果有缓存则读取,否则生成缓存
//缓存1小时
Yii::app()->cache->set('id', $value, 3600);
}
OK,项目完成后记得关闭 gii 模块和调试信息
Yii 1.1.17入门笔记至此结束
Yii 1.1.17 六、开启路由与使用缓存的更多相关文章
- Yii 1.1.17 一、安装、目录结构、视图、控制器、扩展自定义函数
这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot ...
- Yii 1.1.17 二、Gii创建后台与后台登录验证
一.用Gii创建后台模块 1.启用gii,在config/main.php 'gii' => array( 'class' => 'system.gii.GiiModule', 'pass ...
- Thinkphp源码分析系列(六)–路由机制
在ThinkPHP框架中,是支持URL路由功能,要启用路由功能,需要设置ROUTER_ON 参数为true. 开启路由功能后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称, ...
- spring boot / cloud (六) 开启CORS跨域访问
spring boot / cloud (六) 开启CORS跨域访问 前言 什么是CORS? Cross-origin resource sharing(跨域资源共享),是一个W3C标准,它允许你向一 ...
- Linux开启路由的方法
Linux开启路由的命令很简单,只需要一条命令即可: [root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 这个只是临时修改,如果 ...
- centos7上开启路由转发
CentOS7 开启路由转发 2018-03-27 09:18:14 1.临时开启,(写入内存,在内存中开启) echo "1" > /proc/sys/net/ipv4 ...
- centos7开启路由转发
centos7开启路由转发 编辑/etc/sysctl.conf,添加一下内容. vim /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.al ...
- Linux3.5内核以后的路由下一跳缓存
在Linux3.5版本号(包括)之前.存在一个路由cache.这个路由cache的初衷是美好的,可是现实往往是令人遗憾的.下面是陈列得出的两个问题:1.面临针对hash算法的ddos问题(描写叙述该问 ...
- Spring Boot从入门到精通(六)集成Redis实现缓存机制
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...
随机推荐
- DELPHI enablecontrols,disablecontrols函数
DisableControls方法是在程序修改或后台有刷新记录的时候切断数据组件,如TTABLE.ADOQUERY等等与组件数据源的联系.如果没有切断,数据源中只要一有数据的改动,尤其是批量改动的话, ...
- Foundation框架—时间处理对象NSDate
NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等. 1. NSDate的构造方法和构造获取实例的属性 用于创建NSDat ...
- SPOJ3267/DQUERY:D-query——题解
https://vjudge.net/problem/SPOJ-DQUERY http://www.spoj.com/problems/DQUERY/en/ 给定一列数,查询给定区间内数的种类数. 这 ...
- BZOJ3542 DZY Loves March 【map + 线段树】
题目链接 BZOJ3542 题解 线段树裸题,,对每一行每一列开线段树 由于坐标很大,用\(map\)维护根下标 化一下式子,只用维护区间和,区间平方和,区间存在的个数 #include<alg ...
- 【计数】【UVA11401】 Triangle Counting
传送门 Description 把1……n这n个数中任取3个数,求能组成一个三角形的方案个数 Input 多组数据,对于每组数据,包括: 一行一个数i,代表前i个数. 输入结束标识为i<3. O ...
- Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio
In previous posts on vm.swappiness and using RAM disks we talked about how the memory on a Linux gue ...
- ACE的安装
转载于:http://www.cnblogs.com/TianFang/archive/2006/12/03/580714.html ACE的安装是一件比较麻烦的事情,这里简单的记录了我在VS2005 ...
- Codeforces Round #340 (Div. 2) A
A. Elephant time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- TextToast -- 自定义Toast源码
import android.content.Context;import android.graphics.Color;import android.graphics.PixelFormat;imp ...
- HDU 1074状压DP
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...