您的位置:首页 > 编程语言 > PHP开发

我的php学习笔记(二十七)PHP模板引擎Smarty缓存应用

2013-02-26 11:44 204 查看
缓存,是计算机中保存的一些静态的内容,这些内容都不需要发生改变的,计算机将其保存起来一段时间,过了该段时间后就会自动清除该缓存。当访问的时候不是再次访问数据库,而是通过访问该文件来访问需要的内容。使用缓存可以提高计算机的负载能力。

smarty缓存的配置

$smarty->cache_dir = "/caches/"; //缓存目录

$smarty->caching = true; //开启缓存,为flase的时侯缓存无效

$smarty->cache_lifetime = 60; //缓存时间,单位是秒



smarty缓存的使用和清除

$smarty->display('cache.tpl', cache_id); //创建带ID的缓存

根据不同的id保存不同的缓存。



执行之后会有个缓存文件产生



$smarty->clear_all_cache(); //清除所有缓存

$smarty->clear_cache('index.htm'); //清除index.tpl的缓存

$smarty->clear_cache('index.htm',cache_id); //清除指定id的缓存

smarty局部缓存

在使用缓存的时候,有些内容需要缓存,但是有些内容需要实时更新,如时间等内容。这时候需要采取一些方法将不需要缓存的内容提取出来。

使用局部缓存有两种方式

1、insert函数

insert函数默认是不缓存的,并且这个属性不能被修改。

首先在php文件中:



方法命名规则是insert_+方法名

在htm文件中:



显示了数组的内容和当前时间,每刷新一次页面时间就会改变,因为时间没有被缓存。改变其他内容要等到缓存时间过了之后才会发生改变。

2、smart_block函数

smarty_block 函数功能更加强大,使用方法同上。

{blockname}

没有缓存的:{$smarty.now}

{/blockname}

当对小部分内容实现局部缓存的时候使用insert函数,对一大块内容实现局部缓存的时候使用smarty_block函数。

mysql与smarty的应用





将缓存配置中的$smarty->caching 设置为false就可以在每次刷新页面是更新点击次数。如果设置为true但是要实现更新点击次数也可以使用上面的insert函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: