CI框架网页缓存简单用法分析


Posted in PHP onDecember 26, 2018

本文实例讲述了CI框架网页缓存简单用法。分享给大家供大家参考,具体如下:

CodeIgniter 可以让你通过缓存页面来达到更好的性能。

尽管 CodeIgniter 已经相当高效了,但是网页中的动态内容主机的内存 CPU数据库读取速度等因素直接影响了网页的加载速度。 依靠网页缓存, 你的网页可以达到近乎静态网页的加载速度,因为程序的输出结果 已经保存下来了。

缓存是如何工作的?

可以针对到每个独立的页面进行缓存,并且你可以设置每个页面缓存的更新时间。 当页面第一次加载时,缓存将被写入到 application/cache 目录下的文件中去。 之后请求这个页面时,就可以直接从缓存文件中读取内容并输出到用户的浏览器。 如果缓存过期,会在输出之前被删除并重新刷新。

开启缓存

将下面的代码放到任何一个控制器的方法内,你就可以开启缓存了:

$this->output->cache($n); //其中 $n 是缓存更新的时间(单位分钟)

上面的代码可以放在方法的任何位置,它出现的顺序对缓存没有影响, 所以你可以把它放到任何你认为合理的地方。一旦该代码被放在方法内, 你的页面就开始被缓存了。

由于 CodeIgniter 存储缓存的方式,只有通过 view 输出的页面才能缓存。

如果你修改了可能影响页面输出的配置,你需要手工删除掉 你的缓存文件。

在写入缓存文件之前,你需要把 application/cache/ 目录的权限 设置为可写。

删除缓存

如果你不再需要缓存某个页面,你可以删除掉该页面上的缓存代码, 这样它在过期之后就不会刷新了。

注:

删除缓存代码之后并不是立即生效,必须等到缓存过期才会生效。

如果你需要手工删除缓存,你可以使用 delete_cache() 方法:

// Deletes cache for the currently requested URI
$this->output->delete_cache();
// Deletes cache for /foo/bar
$this->output->delete_cache('/foo/bar');

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php生成文件
Jan 15 PHP
php中取得URL的根域名的代码
Mar 23 PHP
php生成扇形比例图实例
Nov 06 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
浅谈php命令行用法
Feb 04 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
Linux下 php7安装redis的方法
Nov 01 PHP
CI框架附属类用法分析
Dec 26 #PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 #PHP
CI框架实现创建自定义类库的方法
Dec 25 #PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
Dec 25 #PHP
PHP使用SOAP调用API操作示例
Dec 25 #PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 #PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 #PHP
You might like
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
php数组的概述及分类与声明代码演示
2013/02/26 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
php如何连接sql server
2015/10/16 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
Vue表单实例代码
2016/09/05 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
vue中的使用token的方法示例
2020/03/10 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
大一军训感言
2014/01/09 职场文书
表彰大会策划方案
2014/05/13 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
第一军规观后感
2015/06/12 职场文书
投诉信格式范文
2015/07/02 职场文书
欠条范文
2015/07/03 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript