ecshop缓存机制

我们知道ECSHOP打开速度很快,这是为什么呢?因为ECSHOP使用了模板缓存技术,相当于打开一个已经编译好的静态页面,所以速度很快。

在商店设置->基本设置里可以设置缓存的生存期,默认是3600秒。

如果需要调试网站,你可以设置缓存存活时间为0,不缓存任何页面。打开/index.php,可以看到以下代码:

$cache_id就是缓存的ID,根据这个ID,找到缓存的文件。ecshop使用的缓存类似于smarty的缓存机制。当然ecshop把它简单化了。全部写/inludes/cls_template.php文件里。

  1. if (!$smarty->is_cached('index.dwt', $cache_id))   

通过smarty类的is_cached方法判断页面是否重新缓存页面。如果返回false,那么就直接显示缓存的文件。

  1. $smarty->display('index.dwt', $cache_id);  

这样的缓存,既节省了网页的打开时间,又增加了网站的负载性能。你可以根据网站的实际情况,来设置模板的缓存时间,以提升网站性能。但网页有些地方,不能缓存。比如:库存、倒记时、会员的登录状态,购物车等,这些都必须是实时的,ECSHOP里可以找到lib_insert.php文件,所有不能缓存的地方都写在这里了。比如购物车代码,在模板里使用{insert name='cart_info'}调用进行,另外也可以使用Ajax方法实现。

你可能感兴趣的:(ecshop)