禁用和关闭ECSHOP缓存

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

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

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

Read More

ECSHOP商品属性调用到任意页面方法

看到标题有的人觉得这个很复杂,其实这个没那么复杂,直接用下面的方法,就可以在ECSHOP的任意页面调用商品属性。

一)打开includes\lib_insert.php文件,在最后面增加一个函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function insert_attr($arr)  
{
static $static_res = NULL;
$aid= isset($arr['aid'])?$arr['aid']:0;
$gid= isset($arr['gid'])?$arr['gid']:0;
if($aid==0) return '';
if ($static_res[$aid][$gid] === NULL)
{
if($gid>0)
{
$static_res[$aid][$gid] = $GLOBALS['db']->getOne('select attr_value from ' . $GLOBALS['ecs']->table('goods_attr') . " where attr_id ='$aid' and goods_id='$gid' ");
}
else
{
$static_res[$aid][$gid] = $GLOBALS['db']->getOne('select attr_name from ' . $GLOBALS['ecs']->table('attribute') . " where attr_id ='$aid' ");
}
}
return $static_res[$aid][$gid];
}

注意要加在 ?> 的前面。

Read More

MySQL优化实例

在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验 进行判断,然后设置合理的参数。

下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化;二是MySQL自身(my.cnf)的优化。

Read More