关于如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

 熟悉ECSHOP的老站长们都知道,ECSHOP是有缓存机制的。


ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度。
但是启用缓存机制,对一些新手站长也有不利的地方。我就遇到很多新手站长经常问,我明明修改了什么什么,为什么前台就没变化呢,这就是缓存在作怪,一般到后台清除缓存就可以了。

鉴于上述原因,有一些站长就在想能不能“禁用缓存,关闭ECSHOP缓存”呢?答案是肯定的。
下面就来讲一讲“如何禁用ECSHOP缓存,如何关闭ECSHOP缓存?”

ECSHOP的缓存分两种,一种是SMARTY的页面缓存;另一种是SQL查询结果的缓存。
这两种缓存都是保存在templates/caches/文件夹下。
只要我们分别关闭这两个缓存,就可以完全禁用ECSHOP的缓存。
当然你也可以根据自己的需要关闭其中某一个。

1、关闭SMARTY的缓存:
打开includes/cls_template.php,找到下面一段
 

if (file_put_contents($hash_dir . '/' . $cachename . '.php', '<?php exit;?>' . $data . $out, LOCK_EX) === false)
{
      trigger_error('can\\'t write:' . $hash_dir . '/' . $cachename . '.php');
}  

 

  将这一部分注释掉即可,改成
 

/*
if (file_put_contents($hash_dir . '/' . $cachename . '.php', '<?php exit;?>' . $data . $out, LOCK_EX) === false)
{
          trigger_error('can\\'t write:' . $hash_dir . '/' . $cachename . '.php');
 }
 */

 

2、关闭SQL查询结果缓存

打开includes/cls_mysql.php 
找到
var $max_cache_time=3600;//最大的缓存时间,以秒为单位
改为
var $max_cache_time=0;//最大的缓存时间,以秒为单位


经过上面修改后,就已经将ECSHOP的页面缓存和数据查询缓存都禁用了,这样当你做了任何修改后,前台都能马上体现出最新的变化,但是对服务器的压力会比禁用缓存之前稍微大那么一点。

各有利弊,自己取舍吧。