飞龙博客

妙法莲华经

限制或禁用ECShop缓存解决ECShop网店访问速度慢

feilong.org 修订于2009-07-01 07:58:00

有一段时间飞龙发现ECShop搭建的家具久久网店访问速度巨慢,经过cPanel的文件管理器检查找原因,原来是ecshop的缓存文件太多了!长期没有清理,都ecshop缓存文件占用了很大的主机资源。如何限制或禁用ECShop缓存呢?按道理只要ftp登录到主机空间服务器,清除“templates/caches”文件夹下的缓存文件,但比较安全稳妥的办法是进入ecshop网店后台点击右上角“清除缓存”按钮。但是飞龙想还想完全禁用ecshop的缓存功能。

一、禁用ecshop部分数据表缓存
ecshop里caches文件夹缓存文件包括sql查询结果缓存和SMARTY模板页面缓存。如果访问网站的用户一多,这些临时的缓存数据都被保持在ECshop的“templates/caches”文件夹下。数据缓存对提高网店速度有一定作用,但缓存文件一多也就过犹不及。有人说只对favourable_activity,goods_activity这2个表禁用缓存即可。
打开include/init.php,找到$db->set_disable_cache_tables(array($ecs->table('sessions'), $ecs->table('sessions_data'), $ecs->table('cart')));
修改为$db->set_disable_cache_tables(array($ecs->table('sessions'), $ecs->table('sessions_data'), $ecs->table('cart'), $ecs->table('favourable_activity'), $ecs->table('goods_activity')));

二、完全禁用ecshop缓存
定期要登录ecshop网店后台清除缓存文件,对于飞龙懒人来说,这也挺嫌麻烦的。那干脆完全禁用ecshop缓存吧。参考小虫的禁用echsop缓存文章,小虫的具体代码是2.6.0左右的版本。2.7的ecshop禁用缓存修改方法类似:

1. 用editplus打开include/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');
                        } */

2.用editplus打开include/cls_mysql.php,找到 max_cache_time = 300,把300改为0即可

三、templates/compiled下的文件是否可以清空?
templates/compiled下的文件是模板编译后文件,可以清空。当用户浏览网店后又会重新生成。templates文件夹下的主要是caches里缓存文件太多,你可以定期清空或完全禁用ecshop缓存。

博主:飞龙.org
链接:http://feilong.org/ecshop-caches-slow
 网络资料 朋友共享 e.jiaju99.com 可加入收藏夹

更新网址:https://feilong.org/ecshop-caches-slow
最初发布:20090701 07:58:00 feilong.org 于广州

加入收藏夹,查看更方便。

所在分类: 电子商务

新作:

旧文: