CI框架网页缓存简单用法分析
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
相关推荐
-
让CodeIgniter数据库缓存自动过期的处理的方法
CodeIgniter框架是一个非常小巧的PHP框架.CI自带数据库文件缓存,但按官方的说法,缓存设置后永不过期,除非你调用方法主动删除. Cache files DO NOT expire. Any queries that have been cached will remain cached until you delete them. 感觉太弱智了,非常不方便. 修改一下db类,在开启缓存时设置一个过期时间,到期自动缓存自动失效. 1:CI database/DB_dirver.php
-
解析php框架codeigniter中如何使用框架的session
里面有两种session的使用方法:1是php的原始的session使用方法,这个很简单,$_SESSION['name']="name",然后在需要的地方显示:echo $_SESSION['name'];2是codeigniter这个框架的一个方法:下面就详细讲解如何使用这个有点点复杂的方法:首先,在\ci\application\config下面的config.php文件中找到:$config['encryption_key'] = '';这个里面随便填什么值都可以,但是不能为空
-
CI框架数据库查询缓存优化的方法
本文实例讲述了CI框架数据库查询缓存优化的方法.分享给大家供大家参考,具体如下: CI框架中有个比较好的查询优化,就是数据库缓存优化 1.开启缓存 //在application/config.php中开启 $db['default']['cache_on'] = TRUE; //在application/config.php中开启 $db['default']['cachedir'] = './cache'; //并在对应的目录中加一个可写缓存目录cache 2. 在对应的查询中开启缓存语句 /
-
CodeIgniter中使用cookie的三种方式详解
cookie在php程序设计中应用十分广泛,本文所述CodeIgniter中使用cookie主要有以下三种方式,读者可以根据自身项目需求酌情采用. 第一种方式:采用php原生态的方法设置的cookie的值 setcookie("user_id",$user_info['user_id'],86500); setcookie("username",$user_info['username'],86500); setcookie("password"
-
CodeIgniter辅助函数helper详解
1.辅助函数概述 helper辅助函数,顾名思义,就是帮助我们完成各种特定任务的一系列函数.并且每个辅助函数文件是一系列的功能集合汇总在一起.比如可以帮助我们创建链接的URL Helpers,有创建表的Form Helpers,有文本格式化输出的Text Helpers,有设置和读取cookie的Cookie Helpers,还有文件File Helpers等等. 不同于大多数其他系统的是,CodeIgniter的辅助函数没有采用类的方式实现.而是简单的,程序的功能.每个辅助函数处理一个特定的任
-
CodeIgniter启用缓存和清除缓存的方法
Codeigniter支持缓存技术,以达到最快的速度.尽管CI已经相当高效了,但是网页中的动态内容.主机的内存CPU和数据库读取速度等因素直接影响了网页的加载速度.依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保存到硬盘上了. 缓存是怎么工作的? CI支持每个页面单独缓存,而且可以设置缓存更新时间.当一个网页第一次被加载的时候,缓存文件将被保存到application/cache文件夹.下次访问的时候,系统就会直接读取缓存文件,然后返回给用户的浏览器.如果缓存文件
-
CI框架中redis缓存相关操作文件示例代码
本文实例讲述了CI框架中redis缓存相关操作文件.分享给大家供大家参考,具体如下: redis缓存类文件位置: 'ci\system\libraries\Cache\drivers\Cache_redis.php' <?php /** * CodeIgniter * * An open source application development framework for PHP 5.2.4 or newer * * NOTICE OF LICENSE * * Licensed under
-
CI(CodeIgniter)框架配置
MVC的组成部分: 模型 (Model) 代表你的数据结构.通常来说,你的模型类将包含取出.插入.更新你的数据库资料这些功能. 视图 (View) 是展示给用户的信息.一个视图通常是一个网页. 控制器 (Controller) 是模型.视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页. 举例 比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新. CI的特点: 简单:CodeIgniter是经过 Apache/BSD-
-
CI框架网页缓存简单用法分析
本文实例讲述了CI框架网页缓存简单用法.分享给大家供大家参考,具体如下: CodeIgniter 可以让你通过缓存页面来达到更好的性能. 尽管 CodeIgniter 已经相当高效了,但是网页中的动态内容.主机的内存 CPU 和数据库读取速度等因素直接影响了网页的加载速度. 依靠网页缓存, 你的网页可以达到近乎静态网页的加载速度,因为程序的输出结果 已经保存下来了. 缓存是如何工作的? 可以针对到每个独立的页面进行缓存,并且你可以设置每个页面缓存的更新时间. 当页面第一次加载时,缓存将被写入到
-
PHP中opcode缓存简单用法分析
本文实例讲述了PHP中opcode缓存简单用法.分享给大家供大家参考,具体如下: 1.什么是opcode 解释器分析代码之后,生成可以直接运行的中间代码,就称做操作码,opcode 2.解释器与编译器的区别 解释器是生成了中间代码后直接运行中间代码,运行时的控制权还是在解释器手里. 编译器则是生成了中间代码之后还进一步优化代码,生成可以直接运行的目标程序 ,但不执行,等待用户触发执行,他的控制权在目标程序,和编译器无关. 3.php是解释型语言,他的原理与编译有点相似,包括词法分析,语法分析,语
-
Thinkphp5.0 框架Model模型简单用法分析
本文实例讲述了Thinkphp5.0 框架Model模型简单用法.分享给大家供大家参考,具体如下: 新建user模型User.php: <?php namespace app\index\model; use think\Model; class User extends Model{ } 控制器代码: //方式一,使用User模型, $res = \app\index\model\User::get(1); $data = $res->toArray(); dump($data); //方式
-
Yii框架函数简单用法分析
本文实例讲述了Yii框架函数简单用法.分享给大家供大家参考,具体如下: 1.redict return $this->redirect(['login']); redict其实是对于以下的封装 等同于 $response=Yii::app->response(); $response->headers->add('location','www.baidu.com'); 2.save 第一个参数是执行验证,第二个参数是指的那个字段(空的话 就保存全部) 如果是一个两个的话 必须知
-
CI框架集成Smarty的方法分析
本文实例讲述了CI框架集成Smarty的方法.分享给大家供大家参考,具体如下: 因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=10345. 自己对比了一下这些教程,我认为下面这个方案是所有里面最优秀的,强烈推荐给大家(当然也是我自己采取的方案
-
CI框架验证码CAPTCHA辅助函数用法实例
本文实例讲述了CI框架验证码CAPTCHA 辅助函数的用法,分享给大家供大家参考.具体如下: 使用CAPTCHA 辅助函数很方便生成验证码,但是图片是存储在文件夹下,不是输出流,感觉不够完美,可以拿来用用. 说明:产生4位的随机数,CI根目录下建立captcha文件夹. 复制代码 代码如下: <?php $this->load->helper('captcha'); $vals = array( 'word' => rand(1000, 10000), 'img_p
-
CI框架中cookie的操作方法分析
本文实例讲述了CI框架中cookie的操作方法.分享给大家供大家参考.具体分析如下: 第一种设置cookie的方式:采用php原生态的方法设置的cookie的值 复制代码 代码如下: setcookie("user_id",$user_info['user_id'],86500); setcookie("username",$user_info['username'],86500); setcookie("password",$user_in
-
prototype框架中美元符号$用法分析
本文实例讲述了prototype框架中美元符号$用法.分享给大家供大家参考,具体如下: prototype是实现面向对象的一个重要工具,是javascript的一个不错的框架. 用jquery的人都知道,jquery中也有$美元符号,prototype中呢,也有$,他们有什么区别呢. 1.prototype中$()的用法 prototype写法 $("test") 或者 $$("#test"), 他相当于js中document.getElementById(&quo
-
Yii框架关联查询with用法分析
本文实例分析了Yii框架关联查询with用法.分享给大家供大家参考.具体方法如下: Yii框架关联查询与mysql中的关联查询会有什么区别呢?这里小编就与各位来一起来看看吧. Yii的关联查询确实是一个方便的东西,网上的资料也很多,但是大部分都是Ctrl+c,Ctrl+v,有些东西一直没有人出来详细的写篇文章说明一下,在参考了网上很多资源以后,加上自己的的一些理解,写下了这篇文章,给广大初学者朋友们提供一点个人见解. YII 支持四种类型的关系: BELONGS_TO(属于): 如果表 A 和
-
Python迭代器定义与简单用法分析
本文实例讲述了Python迭代器定义与简单用法.分享给大家供大家参考,具体如下: 一.什么是迭代器 迭代,顾名思义就是重复做一些事很多次(就现在循环中做的那样).迭代器是实现了__next__()方法的对象(这个方法在调用时不需要任何参数),它是访问可迭代序列的一种方式,通常其从序列的第一个元素开始访问,直到所有的元素都被访问才结束. [注意]:迭代器只能前进不能后退 [迭代器的优点]: 使用迭代器不要求事先准备好整个迭代过程中的所有元素.迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或之
随机推荐
- vue.js表格分页示例
- angular中使用Socket.io实例代码
- Spring中初始化泛型类的方法实例
- 用Python脚本生成Android SALT扰码的方法
- PHP后台微信支付和支付宝支付开发
- cookie、session和java过滤器结合实现登陆程序
- MySQL数据库备份和还原的常用命令小结
- MySQL慢查询优化之慢查询日志分析的实例教程
- 在服务端(Page.Write)调用自定义的JS方法详解
- [整理版]ASP常用内置函数
- JS未跨域操作iframe里的DOM
- vbs imail 密码解密
- Python中isnumeric()方法的使用简介
- node.js中的console.warn方法使用说明
- 在JavaScript中处理数组之reverse()方法的使用
- [推荐]Win2003 服务器的详细架设
- 超简单实现Android自定义Toast示例(附源码)
- Java获得当前时间前指定几个小时具体时间的方法示例
- Spring配置中transactionAttributes的使用方法介绍
- asp.net的公共变量声明问题(解决)