云南网站建设创新企业 昆明多彩网络公司

在线qq:540105663

smarty3缓存设置原理和注意事项

来源:昆明多彩网络公司 日期:2011-03-22 阅读: 发表评论

使用smarty有几个好处:实现mvp,表现层和数据库分离;可以使用缓存机制,减少数据库压力,提升网站的速度;这里介绍一下smarty的缓存机制。

 开启缓存的变量是caching,有3个值:默认为0表示关闭缓存;1为开启缓存模式1,使用统一的缓存过期时间;2为开启缓存模式2,为每个页面使用单独的缓存时间。同时需要定义缓存路径cache_dir,如果没有定义该变量,smarty将自动默认一个缓存路径。

前面的工作做完后,下面的设置是关键点,我们启用缓存的目的就是提升网站速度,而影响网站速度除了服务器本身的性能和带宽因素之外,数据库查询和php文件的编译是影响网站速度的两大主要因素,原理是利用smarty的函数来判断对应的缓存是否存在,如果存在的话就跳过查询数据库和其他耗费内存的操作,直接读取缓存文件,提升网站速度。

网站制作编写代码时需要随时判断对应的缓存文件是否存在,通过函数isCached()来判断,返回true表示缓存已经存在,注意该函数在smarty3中的命名有所改变,注意查阅手册,看一下实例代码:

if(!isCached('index.tpl', 'cache_id')){  这里是查询数据库的代码或者其他方面的操作}

注意,php中的代码将按照正常php脚本解析运行,并不是网上一些人说的如果缓存存在就直接脚本停止运行(exit);

注意,如果数据库更新后想要同时更新前台显示,需要在增加或者编辑信息后同时删除对应的缓存文件即可来达到前台页面的更新的目的,同时可以配合$cache_lifetime=-1(缓存永不过期)使网站达到最好的性能。

发表评论评论列表(有 条评论)