Heim  >  Artikel  >  Backend-Entwicklung  >  修改ThinkPHP缓存为Memcache的方法_PHP教程

修改ThinkPHP缓存为Memcache的方法_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:26:12844Durchsuche

一般来说,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(); 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/824795.htmlTechArticle一般来说,ThinkPHP的默认缓存方式是以File文件方式实现的,运行时会在/Runtime/Temp 下生成很多的缓存文件。 有的情况下服务器装了memcached之...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn