本文分析了Smarty缓存的详细用法。分享给你供你参考。具体分析如下:

首先,它被认为是用来覆盖SMARTY PHP代码的功能,但后来了解到,有一个功能强大的模板缓存。

模板缓存是什么,当我们删除一些数据输出从数据库中的模板的访问,每次访问的数据库,但是每一次的数据库访问是一样的,如果网站的流量,这是完全不必要的重复访问,有很多压力数据库。Smarty提供了缓存技术为了解决这一问题。

首先,我们使用Smarty的缓存,和我们有一些设置:

打开缓存

复制代码如下:$ Smarty ->缓存=真;

设置缓存周期

复制代码如下:Smarty -> cache_lifetime = 30美元;

设置缓存的视觉

复制代码如下:$ Smarty -> cache_dir = /缓存;

然后,对于数据库访问的那一部分,我们首先决定它是否为这个部分缓存了。

将代码复制如下:如果(!Smarty美元-> iscached(01。HTML))确定{ / /缓存了,如果你做不到这里,直接输出模板

美元mysql_connect conn =('localhost ','root ','root);

mysql_query(让名字utf8);

mysql_query(将市场);

RS = mysql_query美元('select ods_id,ods_name,shop_price,add_time从ODS,ods_id =。ods_id美元,);

数组();

而($行= mysql_fetch_assoc($ RS)){

百万美元;

}

数据库;

Smarty美元->分配('ods);

}

但在Smarty缓存还有一个需要注意的,是如果从内部得到地址栏参数,则可能影响缓存,多个不同的高速缓存的第一代参数,所以我们需要使用单模板缓存技术,实际上是很简单,只要

复制代码如下:$ Smarty ->分配('ods,$ ODS);这里添加这个参数的参数是从地址栏中得到的,还需要判断是否已经缓存的拷贝代码在判断时添加参数:$ Smarty -> iscached(01 .html ',ods_id);

那么我们如何删除这个缓存呢这很简单。我们只需要调用复制代码代码如下:$ Smarty -> clearcache(01 .html,ods_id美元),第二个参数是可选的,如果我们不补,我们将删除所有缓存下这个模板直接。

最后,有时,当调试器没有缓存,我们可以将此参数设置为暂停缓存:代码如下:$ Smarty -> force_cache =真;

最后一点注意,缓存生命周期指的是,在这个时间之后,再次刷新这个页面将使用新的缓存替换旧的,如果没有新的缓存,那么旧的缓存不会自动删除,所以在实际的项目开发中,如果缓存的话很多,实际上是存储效果。

事实上,我们需要缓存只有一小部分的HTML,现在很多站使用memcached缓存。

希望本文能对大家的PHP程序设计有所帮助。