修改ThinkPHP缓存为Memcache的方法


Posted in PHP onJune 25, 2014

一般来说,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] MemcachePool::set(): Server 127.0.0.1 (tcp 11211, udp 0) failed with: CLIENT_ERROR bad command line format (0) CacheMemcache.class.php 第 107 行.

于是找到这句:

return $this->handler->set($name, $value, 0, $expire);

进一步调试之后发现 $expire 的值是-1; 写程序的时候并没有指定缓存的时长,这里的-1可能不被memcached接受。
于是在Conf/config.php 中添加:

'DATA_CACHE_TIME' => '3600',

指定默认的缓存时长为3600 秒; 再运行,错误没有了,缓存成功!

另外,需要在某个action里清除所有缓存的时候可以这样实现: 

$cache = Cache::getInstance(); 
$cache ->clear();
PHP 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
自定义php类(查找/修改)xml文档
Mar 26 PHP
php根据年月获取季度的方法
Mar 31 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
php实现的表单验证类完整示例
Aug 13 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
PHP之header函数详解
Mar 02 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
Jun 25 #PHP
ThinkPHP多表联合查询的常用方法
Mar 24 #PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
Jun 25 #PHP
ThinkPHP查询中的魔术方法简述
Jun 25 #PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 #PHP
Zend Framework页面缓存实例
Jun 25 #PHP
非常好用的Zend Framework分页类
Jun 25 #PHP
You might like
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
去除链接虚线全面分析总结
2006/08/15 Javascript
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
javascript Object与Function使用
2010/01/11 Javascript
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
详解用vue.js和laravel实现微信支付
2017/06/23 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
详解Python编程中包的概念与管理
2015/10/16 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
python 实现return返回多个值
2019/11/19 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
七一党日活动总结
2014/07/08 职场文书
话题作文之自信作文
2019/11/15 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
sass 常用备忘案例详解
2021/09/15 HTML / CSS
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js