dede后台的一键更新网站和更新系统缓存有什么区别?
默认情况下是这样的,发表文章后还要手动去生成栏目页跟首页,但是显然这样很不方便,应该很多人都发布为文章就基本忘了去更新首页跟栏目页,而实际上dede后台可以进行设置的,设置完之后你每次更新文章之后系统会自动更新栏目页跟首页
如上图,在后台一次点开 系统---系统基本参数--性能选项,然后拉到最下面把红色框框内的全部选中为 是,然后确定,ok一切搞定,你以后灭此发表文章之后,系统都会自动更新栏目页跟首页了
一、首先是安装memcache
二、DedeCMS后台设置
进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置:
cfg_memcache_enable : 是否启用memcache缓存,如果为否(N),默认使用文件缓存;
这个选项设置为开启:Y
cfg_memcache_mc_defa : 默认memcache缓存服务器地址;
这个选项中填入服务器地址:memcache://127001:11211/default127
cfg_memcache_mc_oth : 附加memcache缓存服务器地址;
这个如果没有可以为空
三、设定缓存时间
cfg_puccache_time : 需缓存内容全局缓存时间(秒),这个里面需要设定缓存周期,默认为36000秒
四、Memcache的分布式应用
memcache适合与web server安装在同一server上
memcache可以在n个端口开n个进程,如果和web server在同一机器的话,还能减少网络开销
配置简单,启动一个进程就行了,免去了配置文件
五、DedeCMS缓存函数开发说明
由于封装成小助手的形式,所以在使用的时候先初始化:
helper('cache');
几个简单的方法:
SetCache() 设定缓存信息
GetCache() 获取缓存内容
DelCache() 删除缓存内容,简单的使用例子如:
$rs = GetCache('memberlogin', $mid);
if( empty($rs) )
{
$rs = $dsql->GetOne("SELECT FROM `dede_member` WHERE mid='{$mid}' ");
SetCache('memberlogin', $mid, $rs, 1800);
}
dedecms具有很好的生成HTML功能,在后台主页面中也添加了一键更新功能,不过,由于DEDECMS后台功能比较完善,可以自动添加自定义文档,而这些文档的更新,必须在单页文档管理栏目下才能完成,点击生成/一键更新无法更新
因此我在后台的文件中填上了以下代码,使得dede自定义文档在更新网站时能够自动完成更新
后台文件 默认/dede/ 目录下
makehtml_allphp
更改位置
144行:源文件
else if($step==10)
{
$adminID = $cuserLogin->getUserID();
$mkcachefile = DEDEDATA"/mkall_cache_{$adminID}php";
@unlink($mkcachefile);
OptimizeData($dsql);
ShowMsg("完成所有文件的更新!","javascript:;");
exit();
}//make step
修改为以下代码后
else if($step==10)
{
include_once(DEDEINC"/arcsgpageclassphp");
$dsql->Execute("ex","SELECT aid FROM `#@__sgpage` ");
$i = 0;
while($row = $dsql->GetArray("ex"))
{
$sg = new sgpage($row['aid']);
$sg->SaveToHtml();
$i++;
}
$adminID = $cuserLogin->getUserID();
$mkcachefile = DEDEDATA"/mkall_cache_{$adminID}php";
@unlink($mkcachefile);
OptimizeData($dsql);
ShowMsg("完成所有文件的更新!","javascript:;");
exit();
}//make step
通过更改以上代码,既可以使得dedecms的一键更新成为真正意义上的一键更新
0条评论