PHP清除缓存的几种方法总结


Posted in PHP onSeptember 12, 2017

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函数其实就是删除缓存文件。

PHP清除缓存的几种方法总结

浏览器器地址栏输入地址:

http://test.xxx.cn/Clear-clearcache?operate=fields  //测试环境
http://www.xxx.cn/Clear-clearcache?operate=fields  //正式环境

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
探讨:array2xml和xml2array以及xml与array的互相转化
Jun 24 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
Dec 20 PHP
php时区转换转换函数
Jan 07 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP 传输会话curl函数的实例详解
Sep 12 #PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 #PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 #PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 #PHP
php mysql PDO 查询操作的实例详解
Sep 23 #PHP
PHP实现权限管理功能示例
Sep 22 #PHP
php生成毫秒时间戳的实例讲解
Sep 22 #PHP
You might like
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
python3.0 字典key排序
2008/12/24 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
python 中split 和 strip的实例详解
2017/07/12 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
Python几种常见算法汇总
2020/06/02 Python
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
超市仓管员岗位职责
2014/04/07 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
python 调用js的四种方式
2021/04/11 Python
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python