PHP清除缓存的几种方法总结
现在开发的项目是用tp3.1版本的,在开发过程中我们常常会遇到页面缓存的问题(特别是html的缓存);刷新后还是旧版的数,再刷新下还是旧版数据,慢慢的开始怀疑人生了,哈哈;所以在开发过程中我们又必要每次及时清除缓存。
清除缓存的方法大概有3种(都是实际经历总结):
第一:在项目的配置文件config.php里加入下面两行代码就能避免缓存问题
'TMPL_CACHE_ON' => false,//禁止模板编译缓存 'HTML_CACHE_ON' => false,//禁止静态缓存
这两行代码在这里我就不解释啦;
第二:TP框架的缓存目录存放在文件夹public_html\App\Runtime下,每次开发完成后手动删除里面的所有文件
(感觉有点暴力和愚蠢),但这种方法最蠢,测试和线上环境如果没有权限就删除不了了;
第三:我自己写的清除缓存类,我们可以在业务控制器同目录下新建自己的"清除缓存"的类(核心思想就是利用TP框架自带的缓存类来操作,TP框架的源代码大家可以看下),通过url访问的方式来清楚缓存,
代码如下:
// +---------------------------------------------------------------------- // | Copyright (c) 2007-2009 // +---------------------------------------------------------------------- // $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $ /** +------------------------------------------------------------------------------ * 清除缓存 +------------------------------------------------------------------------------ * @author haibo <chenhaibo0806@163.com> * @version $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $ +------------------------------------------------------------------------------ */ class ClearAction extends Action{ /** +---------------------------------------------------------- * 清除缓存 +---------------------------------------------------------- * @access public +---------------------------------------------------------- * @return void +---------------------------------------------------------- */ public function clearcache() { $_token = isset($_GET['token']) ? trim($_GET['token']) : ''; $_operate = isset($_GET['operate']) ? trim($_GET['operate']) : ''; $_option = array(); if($_operate == 'runtime') $_option['temp'] = RUNTIME_PATH; //各种缓存数据存放目录 if($_operate == 'cache') $_option['temp'] = CACHE_PATH; if($_operate == 'data') $_option['temp'] = DATA_PATH; if($_operate == 'fields') $_option['temp'] = DATA_PATH."/_fields"; import('Think.Util.Cache.CacheFile'); $CacheFile = new CacheFile($_option); $CacheFile->clear(); echo 'success'; }
clear函数其实就是删除缓存文件。
浏览器器地址栏输入地址:
http://test.xxx.cn/Clear-clearcache?operate=fields //测试环境
http://www.xxx.cn/Clear-clearcache?operate=fields //正式环境
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍清除js缓存的多种方法总结,包括了清除js缓存的多种方法总结的使用技巧和注意事项,需要的朋友参考一下 在客户端有一个HTML文件,用来提交输入信息,问题在于:每次按刷新时,发觉并不是整个页面重新被装载,好似是缓存中。 因为文本框中仍出现上次输入的值,只有在地址栏中按回车整个页面才重新装载,应当怎样避免此问题? 1,在html里head区添加代码: 2,清除临时缓存 3,jquery
本文向大家介绍js清除浏览器缓存的几种方法,包括了js清除浏览器缓存的几种方法的使用技巧和注意事项,需要的朋友参考一下 关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种
本文向大家介绍Linux系统清除缓存的方法总结,包括了Linux系统清除缓存的方法总结的使用技巧和注意事项,需要的朋友参考一下 1)缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接操作磁盘。 缓存机制优点:减少系统调用次数,降低C
本文向大家介绍Android清除应用缓存的两种方法,包括了Android清除应用缓存的两种方法的使用技巧和注意事项,需要的朋友参考一下 第一种 使用ActivityManager中的clearApplicationUserData方法,代码如下: 这种方式的问题就是不知清除cache,连带应用的data也删除了。如下图所示: 第二种 使用PackageManager中的deleteApplicat
本文向大家介绍CodeIgniter启用缓存和清除缓存的方法,包括了CodeIgniter启用缓存和清除缓存的方法的使用技巧和注意事项,需要的朋友参考一下 Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直接影响了网页的加载速度。依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保
本文向大家介绍C#清除WebBrowser中Cookie缓存的方法,包括了C#清除WebBrowser中Cookie缓存的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#清除WebBrowser中Cookie缓存的方法。分享给大家供大家参考,具体如下: 最近用C#写一个程序,用一个窗体中的WebBrowser来登陆网站,但是WebBrowser有cookie缓存,第二次登陆的时候W