修改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 相关文章推荐
如何对PHP程序中的常见漏洞进行攻击(上)
Oct 09 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
PHP APC的安装与使用详解
Jun 13 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
async和DOM Script文件加载比较
Jul 20 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
php中的explode()函数实例介绍
Jan 18 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 PHP
PHP 7.4中使用预加载的方法详解
Jul 08 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
Oct 08 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 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的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
iframe子父页面调用js函数示例
2013/11/07 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
python实现图片转字符小工具
2019/04/30 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
历史教育专业个人求职信
2013/12/13 职场文书
企业年会主持词
2014/03/27 职场文书
应用外语系自荐信
2014/06/26 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL