26
2019.2

块标签的文件缓存(局部缓存)

作者: POPASP
块标签的文件缓存(局部缓存) 块标签的文件缓存是模板引擎的一项重要功能,它可以极大地提高asp动态页面的生成速度。模板引擎的强大之处就体现在局部缓存上,它可以将页面的局部进行缓存,而不是将整个页面进行缓存,这点在项目中使用得最为广泛。 前面我们讲到了flow块标签的使用,下面我们还是以flow块标签来举例。 ```brush:html 时间1:14:47:01
缓存5秒
时间2:14:47:01
缓存10秒 ``` 多次刷新,发现时间1缓存的时间是5秒,时间2的缓存时间是10秒。这两个代码块文件缓存的位置分别是 ```brush:html Runtime/Cache/Index_test#block.txt Runtime/Cache/Index_test#block1.txt ``` 不同的代码块可以有不同的缓存时间,这个在以往的ASP项目中基本上是看不到的,你可能再次惊艳于POPASP的强大,POPASP的确为大家提供了一些实实在在的便捷功能。 ### 缓存时间 缓存时间的单位是秒。 可以使用默认的缓存时间,而不必在每个块标签中进行设置,这样的话,为动态设置缓存时间提供了方便。只要 ```brush:html ``` 只要写上第三个参数之前的冒号,就会采用默认的缓存时间。当然如果不写冒号,系统是不会进行文件缓存的。设置方便,使用灵活。 默认缓存时间,可以通过配置来修改完成,配置参数为`TMPL_CACHE_LIFETIME`。 ```brush:html POP_MVC.config("TMPL_CACHE_LIFETIME") = 3600 '1小时 POP_MVC.config("TMPL_CACHE_LIFETIME") = 86400 '1天 POP_MVC.config("TMPL_CACHE_LIFETIME") = 2592000 '30天 ``` 如果模板页面进行了修改,所有的缓存都会失效,最大限度保证了页面展示的正确性。 ### 缓存文件 缓存文件名,是由三部分组成。 ````brush:html 控制器名_方法名#缓存名.html ``` 一般来说,网站的后台是不需要缓存的,而前台经常需要缓存,掌握了这个特点,在删除前台缓存文件的时候就方便了。 ### 网站前台的导航栏缓存 网站前台的导航栏一旦项目上线,基本上不会再发生改变,如果使用局部缓存的话,我们可以这样来完成。 ````brush:html
  • 首页
  • [[@SortID]]:[[@SortName]]
``` 出于演示的目的,我没有写出具体的链接,在我这边的数据显示为: [![POPASP模板引擎移形换位功能](http://www.popasp.com/images/31/31_24_1.jpg "POPASP模板引擎局部缓存功能")](http://www.popasp.com/images/31/31_24_1.jpg "POPASP模板引擎局部缓存功能") 打开项目文件夹下的 ````brush:html Runtime/Cache/index_test#htmlSort.txt ``` 我们会发现,生成的html代码如下: ```brush:html
  • 首页
  • 1:新闻中心
  • 5:产品展示
  • 8:资料下载
  • 11:招聘信息
  • 15:公司相册
  • 18:在线留言
  • 19:关于我们
  • 22:在线视频
``` 缓存之前,我们看到的控制台TPL解析过程如下: [![POPASP模板引擎移形换位功能](http://www.popasp.com/images/31/31_24_3.jpg "POPASP模板引擎局部缓存功能解析之前的控制台")](http://www.popasp.com/images/31/31_24_3.jpg "POPASP模板引擎局部缓存功能解析之前的控制台") 缓存之后,我们看到的控制台TPL解析过程如下: [![POPASP模板引擎移形换位功能](http://www.popasp.com/images/31/31_24_2.jpg "POPASP模板引擎局部缓存功能解析之前的控制台")](http://www.popasp.com/images/31/31_24_2.jpg "POPASP模板引擎局部缓存功能解析之前的控制台") 我们看到的是显性的控制台的TPL模板替换解析过程的变化,究其内部实现原理其实是用缓存文件中的数据代码了模板解析,不用再从数据库取数据了,性能必然得到了很大的提升,这个从网页打开的速度也能得到印证。 更为复杂的代码都可以这样使用,不管是单个块标签还是层层嵌套的块标签。