Smarty开启缓存和局部不缓存

什么是缓存br> 将我们的数据保存到 某个硬件或者软件当中,便于我们快速的访问。归根结底都是在内存当中。
常见的缓存形式有哪些br> 数据缓存,站在数据库的角度(mysql),有些数据不是经常变化的,我们就可以把它缓存起来,下次再访问的时候,就直接访问缓存,极大了提升了效率。Memcached
文件缓存,也称页面缓存,有些页面,一旦生成,就不再变化,我们可以将这些页面缓存起来,就是直接将其转成静态页面,后续的访问就直接访问静态页面,极大了提升访问的效率。
页面静态化技术。
我们的smarty也实现了缓存,实现的是 文件缓存。
1.使用缓存
默认情况下是没有开启缓存的。要使用缓存,需要开启。有如下几个设置项:
是否开启缓存,caching
设置缓存目录,cache_dir
设置缓存的有效期,cache_lifetime ,单位是秒,默认值是3600,一个小时
在我们的项目中来设置,

Smarty开启缓存和局部不缓存
然后,为了看清这个效果,我们开启一个调试模式。
Smarty开启缓存和局部不缓存
注意,可能会被浏览器拦截,
Smarty开启缓存和局部不缓存
查看缓存文件,
Smarty开启缓存和局部不缓存
所以,我们需要在取数据之前,做一个判断,判断当前的缓存有效,如果有效,则无需使用模型取数据。Smarty提供了一个函数,isCached(模板名称)
Smarty开启缓存和局部不缓存
再次浏览首页(浏览两次),查看使用缓存的情况,
Smarty开启缓存和局部不缓存
在理解的是,要注意两条线:
第一条线,第一次访问的过程
第二条线,后续访问的过程
什么情况下缓存会失效呢br> 已经过了有效期cache_lifetime的设置值
缓存文件被删除
模板文件被修改

2.局部不缓存
一旦页面使用了缓存之后,那整个页面的内容就不会变化。
但实际上,在某些页面,需要动态的展示信息,比如时间、用户的状态。
意味着在我们的页面中, 有一小块内容是不缓存。
Smarty提供了一个局部不缓存的用法。
有三种方式:
标签的缓存控制,即在标签中使用 nocache 属性,适用于单个标签
变量的缓存控制,即在分配变量时设置第三个参数为 true,适用于单个变量
模板区域缓存控制,即在模板页面中使用{nocache} {/nocache},适用于一块
第一种方式

Smarty开启缓存和局部不缓存
第三种方式
Smarty开启缓存和局部不缓存

来源:治荣

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月15日
下一篇 2019年2月15日

相关推荐