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 中 1021行 cache_on 函数替换为 代码如下:function cache_...
Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直接影响了网页的加载速度。依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保存到硬盘上了。缓存是怎么工作的?CI支持每个页面单独缓存,而且可以设置缓存更新时间。当一个网页第一次被加载的时候,缓存文件将被保存到application/cache文件夹。下次访问的时候,系...
一般使用文件方式的缓存就能够满足要求,而thinkPHP还提供了一个专门用于文件方式的快速缓存方法F方法。由于采用的是PHP返回方式,所以其效率较S方法较高。 F方法具有如下特点: 1.简单数据缓存;2.文件形式保存;3.采用PHP返回数据方式加载缓存;4.支持子目录缓存以及自动创建;5.支持删除缓存和批量删除;代码如下:$path="../Public/Runtime/";$str="fastrunaaaaaaaaaaaaaaaa";F("str/ffun",$str,$path); 这样就把$str字符串这个...
thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法,使用示例如下:代码如下:// 使用data标识缓存$Data数据S(data,$Data); //前面的是缓存标示,后面的是缓存的数据 代码如下:// 缓存$Data数据3600秒S(data,$Data,3600); 代码如下:// 删除缓存数据S(data,NULL); //第一个参数时缓存的标识名 代码如下:$cache=S($cachename);//设置缓存标示// 判断是否有这个查询缓存 ...
很多的开源cms系统都有一键清除缓存的功能,缓存是为了减轻服务器的压力而产生的,但是同时有缓存的存在也可能使一些数据不能实时更新,对此,我们就来实现一个ThinkPHP的清理缓存的功能。代码如下: ThinkPHP后台执行的代码: //获取要清楚的目录和目录所在的绝对路径public function cache(){////前台用ajax get方式进行提交的,这里是先判断一下if($_POST[type]){//得到传递过来的值$type=$_POST[type];//将传递过来的值进行切割...
一般来说,ThinkPHP的默认缓存方式是以File文件方式实现的,运行时会在/Runtime/Temp 下生成很多的缓存文件。 有的情况下服务器装了memcached之后,需要将ThinkPHP的缓存方式更改成memecache方式 具体操作步骤如下: 在Conf/config.php 中添加: DATA_CACHE_TYPE => Memcache, MEMCACHE_HOST => tcp://127.0.0.1:11211, 更新缓存后刷新页面发现缓存并没有生效。 得到调试信息: [ 2010-09-30T11:41:56+08:00 ] NOTIC: [8] Memca...
下面这个PHP的代码实例,功能是帮助用户重置密码,requestResetPassword是接收用户重置密码的请求并且做了相应的检查。为了更好的复用性,我将重置密码的操作单独分配到一个新的resetPassword的函数,更改完密码的后再调用sendEmail向用户发送一封通知邮件。 代码如下:/** * 用户请求重置密码的接收器 */function requestResetPassword() { //检查用户是否存在 if( !checkUserExists( $_GET['userid'] ) ) { exit('抱...
在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其 cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程。检测cache过期是看模板文件是否在指定的生命周期内是否更改,这里的更改是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容。 防止一个模板文件的整篇都被缓存: index.php文件: 代...
很多时候我们在用smarty时,并不希望缓存整个页面,例如天气、股票等这类即时更新的信息。那么我们可以让其不缓存,常见的实现有如下3种方法: 1.insert 法: Insert 函数类似于 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数。比如说我们定义一个显示时间的函数:代码如下:function insert_get_current_time() {return date("H:i:s");} //然后在模板中:{insert name="get_current_ti...
PHP禁止页面缓存的方法 比如我有3个页面,1.购物车 2.订单地址和付款方式 3.显示订单生成2 -> 3的时候,就插入订单数据,生成订单信息以及订单下的商品,并且清空购物车对应商品数据。肯定不希望用户到了最后一个页面,都已经生成订单了,再点浏览器的返回按钮回到前一个页面。那么在订单地址页面加入:header("Cache-Control:no-cache,must-revalidate,no-store"); //这个no-store加了之后,Firefox下有效header("Pragma:no...
php禁止浏览器使用缓存页面的方法,php禁止缓存页面 本文实例讲述了php禁止浏览器使用缓存页面的方法。分享给大家供大家参考。具体方法如下: 页面缓存在有的时候是不需要的,我们可以禁止浏览器缓存页面。 在PHP中可以轻松的使用下面的语句实现禁止页面缓存,但比较难记特整理下,方便大家使用。 php代码如下:代码如下:<?php // 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 header ( " Expires: Mon...
php禁止浏览器使用缓存页面的方法 页面缓存在有的时候是不需要的,我们可以禁止浏览器缓存页面。 在PHP中可以轻松的使用下面的语句实现禁止页面缓存,但比较难记特整理下,方便大家使用。 php代码如下:代码如下:// 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 header ( " Expires: Mon, 26 Jul 1970 05:00:00 GMT " );// 设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最...
php设置静态内容缓存时间的方法,php设置静态缓存 本文实例讲述了php设置静态内容缓存时间的方法。分享给大家供大家参考。具体方法分析如下: 在利用百度工具作一个小测试时提示我们需要设置静态内容缓存时间了,我自己没有服务器权限操作,只能从其它方面入手了,自己学习php的我搜索后发现可以使用header函数来实现浏览器缓存页面的时间,具体如下. 设置静态内容缓存时间,代码如下:代码如下:$interval = 60 * 60 * 6; // 6 hours h...
PHP使用memcache缓存技术提高响应速度的方法,memcache缓存 本文实例讲述了PHP使用memcache缓存技术提高响应速度的方法。分享给大家供大家参考。具体分析如下: php虽然己经做到很好很快了,但是如果大数据量时还是会有些卡了,这里介绍一下PHP中使用memcache缓存技术提高响应速度方法,有需要了解的朋友可参考. memcache既可以在linux下使用,也可以在windows系统下使用,当然首推linux系统,至于如何安装memcache,google一下就什么都出...
php页面缓存方法小结,php页面小结 本文实例总结了php页面缓存方法。分享给大家供大家参考。具体分析如下: 在php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高级的缓存是不使用这些函数的,本文最后会举一个实例加以说明. 先来看看缓存常用的ob系列函数: ob_start():页面缓存开始的标志,此函数一下的内容直至ob_end_flush()或者ob_end_clean()都保存在页面缓存中; ob_get_contents()...