smarty局部禁止缓存机制
来源:互联网 发布:百度网站怎么优化 编辑:程序博客网 时间:2024/05/22 03:05
模板缓存的好处是可以最大程度减轻数据库的压力。smarty作为是php最常用的模板引擎之一,其提供了很好的缓存机制:当用户首次访问某个页面时,程序从数据库提取数据,生成一个静态的html页面,当用户再次访问这个页面时,直接显示缓存的html页面,不会再次操作数据库。
但是这里面就有一个问题,那就是当缓存一个页面时,可能这个页面里面的特殊数据是不需要缓存的,比如该页面的访问量,评价,留言等等。
以下,就是smarty中三种局部禁止缓存的方法:
1,insert 法
定义一个函数显示时间的:
定义一个函数显示时间的:
function insert_get_current_time(){ $timestamp=empty($timestamp)?time():$timestamp; $timeoffset=(int) '+8'; return $ret=gmdate("Y-n-j g:ia", $timestamp + $timeoffset * 3600);}
然后在模板中:
{insert name="get_current_time"}
这样每次打开页面,显示的都是即时时间,而不是缓存的。注意这里的函数名一定要以insert开头,模板中的name与之对应。
2,动态block法
//部分缓存function smarty_block_nocache($param, $content, $smarty){ return $content;}$smarty->register_block('nocache', 'smarty_block_nocache', false);
在模板中:
{nocache}{$smarty.now}{/nocache}
这样每次刷新页面,显示的时间都是不同的。
3,插件block 法
在Smarty/plugins目录下建一个文件
在Smarty/plugins目录下建一个文件
block.nocache.php 内容如下:<?php function smarty_block_nocache($param, $content, $smarty){ return $content; } ?>
前台模板调用的方法与方法2一样,在 php文件中就不必要再register_block了,很方便。
第1种方法适用于较大数据的展示,如评论列表、留言列表等;而第3种适用于对小数据的展示,如点击量、购买量等等。
0 0
- smarty局部禁止缓存机制
- smarty页面局部缓存
- smarty局部缓存
- smarty局部缓存技术
- smarty 实现局部缓存
- smarty局部缓存
- SMARTY局部缓存
- smarty局部缓存
- smarty局部缓存
- Smarty局部缓存
- smarty局部缓存
- smarty局部缓存
- smarty局部缓存
- smarty局部不缓存
- smarty局部缓存
- smarty 局部不缓存
- smarty的局部缓存
- smarty-缓存(局部不缓存)
- crontab 每分钟、每小时、每天、每周、每月、每年定时执行
- TextView水平剧中
- 利用匿名管道实现远程CMD---我的解读
- 模拟自动售货机C程序
- pthread_cancel 线程取消以及锁的释放
- smarty局部禁止缓存机制
- 获取手机短信内容
- 【我所认知的BIOS】—> uEFI AHCI Driver(2) — 原来开始也不那么简单
- java数据类型与运算符
- POJ 2446 Chessboard
- 初识云计算day025
- 小型mvc框架开发
- 【字符串】ZigZag Conversion
- 电话拦截