修改ThinkPHP缓存为Memcache的方法_php实例

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索方法
, 修改
, memcache
ThinkPHP缓存
thinkphp静态缓存实例、thinkphp缓存实例、thinkphp memcache、thinkphp使用memcache、thinkphp5 memcache,以便于您获取更多的相关知识。

时间: 2024-09-20 05:44:42

修改ThinkPHP缓存为Memcache的方法_php实例的相关文章

zend framework中使用memcache的方法_php实例

本文实例讲述了zend framework中使用memcache的方法.分享给大家供大家参考,具体如下: zend framework项目中,以下是具体方法: 1.找到Bootstrap.php添加以下初始化方法(注意:Bootstrap.php是初始化加载所有的操作): protected function _initMemcache() { $frontendOpts = array( 'caching' => true, 'lifetime' => 1800, //缓存生命周期3分钟,根

ThinkPHP添加更新标签的方法_php实例

本文实例讲述了ThinkPHP添加更新标签的方法.分享给大家供大家参考.具体分析如下 我们知道,thinkphp的拓展案例blog,只告诉我们怎样去添加标签tag,却没有删除和更新标签的方法,我在前面的<彻底删除thinkphp3.1案例blog标签的方法>为拓展案例blog写了一个删除标签的方法,接下来将写一个标签的更新方法. 一般情况下,我们写博客后,很少去改动标签了,但是如果我们改动标签如,删除,添加,减少标签怎么办呢这无疑造成think_tag和think_tagged两个表垃圾信息的

thinkphp配置文件路径的实现方法_php实例

如下所示: //系统常量定义 //去THinkPHP手册中进行查找 echo "<br>"."网站的根目录地址".__ROOT__." "; echo "<br>"."入口文件地址".__APP__." "; echo "<br>"."当前模块地址".__URL__." "; echo &qu

ThinkPHP处理Ajax返回的方法_php实例

本文实例讲述了ThinkPHP处理Ajax返回的方法,分享给大家供大家参考.具体实现方法如下: 在ThinkPHP中可以直接使用ajax返回: 复制代码 代码如下: $.post(handleUrl,{username:username.val(),content:content.val()},function(data) { //这里是接收返回来的内容.},'json'); 而在处理过程中可以使用这个函数处理: 复制代码 代码如下: $this->ajaxReturn(要返回的内容,'json

thinkphp浏览历史功能实现方法_php实例

本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具体实现方法分析如下: 历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子. 就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能. 1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址

thinkPHP实现瀑布流的方法_php实例

本文实例讲述了thinkPHP实现瀑布流的方法.分享给大家供大家参考.具体分析如下: 很多人都想做瀑布流的效果,这里告诉大家官网使用的方法,首先要下载瀑布流的插件jquery.masonry.min.js 地址:http://masonry.desandro.com/index.html里面包含的很多示例. 流程: 1. 页面初始化时,调用插件进行一次排版: 2. 当用户将滚动条拖到底部时,用ajax加载一次数据,并排版显示 3. 重复2,直到无数据 Html代码: 复制代码 代码如下: <!D

ThinkPHP登录功能的实现方法_php实例

登陆功能是PHP程序设计中常见的功能.本文ThinkPHP实例主要完成注册成功后进入首页,并告诉你是登录用户的功能.具体实现步骤如下: 第一步:在config.php文件中加上: 'USER_AUTH_KEY'=>'authId' 示例如下: <?php if(!defined('THINK_PATH')) exit(); return array( // 定义数据库连接信息 'DB_TYPE'=> 'mysql',// 指定数据库是mysql 'DB_HOST'=> 'local

ThinkPHP模板自定义标签使用方法_php实例

使用模板标签可以让网站前台开发更加快速和简单,使用过dedecms.phpcms等内容管理系统的人应该都知道,cms的前台都是使用模板标签来调用数据.以调用文章列表为例: dedecms可以写成: <ul> {dede:arclist row='10' orderby='id desc' titlelen=''} <li>[field:title]</li> {/dede:arclist} </ul> phpcms可以写成: <ul> {pc:c

wamp下修改mysql访问密码的解决方法_php实例

学习php,使用了wamp安装包来搭建php+apache+mysql的环境,wamp官方下载地址:http://www.wampserver.com/en/  .但是wamp默认的用户名是'root',密码是空.现在我需要把密码改成自己想要的字符串.我的wamp的安装目录是"d:\wamp". 在网上搜索了一下,试过好多次,有的不可行,比如直接修改"D:\wamp\apps\phpmyadmin3.4.10.1\config.inc.php"文件,将 复制代码 代