修改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图片上传程序
Mar 27 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
php中strtotime函数性能分析
2016/11/20 PHP
js操作select控件的几种方法
2010/06/02 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
python使用urllib2提交http post请求的方法
2015/05/26 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python中一些深不见底的“坑”
2019/06/12 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
个人廉洁自律承诺书
2014/03/27 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
庆六一宣传标语
2014/10/08 职场文书
2015年采购工作总结
2015/04/10 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书