smarty文件缓存

当一个网站一段时间内访问量较大的时候,每次访问一个页面就会从新编译执行一次,从数据库中读取数据,那么就会给服务器带来很大的压力,而且有可能导致数据库崩溃,所以应该有个缓存机制来保存页面。

文件缓存是指把动态网页访问过后生成一个静态html静态网页,当再次访问这个页面时,呈现给用户的就是这个html网页,这样就不用每次访问都读一次数据库。

smarty中开启缓存:$smarty->caching=1; 默认保存在cache文件夹下。如果没有则自动创建。

更新缓存:1)删除对应的缓存

      2)强制更新缓存  $smarty->force_cache=true;

      3)更新html模板,或者更新布局文件、包含文件;  

  4)设置缓存的生命周期。   $smarty->cache_lifetime=5; 有效期5秒。默认是1个小时。

单模板多页面缓存:

当一个页面有分页显示的时候就需要用到单模板多页面缓存。

$smarty->display('demo.html ' , $_GET['pageno']);

局部不缓存:

当一个页面中大部分内容在短时间内不改变,而一小部分需要实时更新的话。就用到了局部不缓存。比如电影网站中:短时间内的电影不会改变,而电影排名需要实时更新的。

1.{$smarty.now nocache} //单个变量不缓存

2.{nocache}....{/nocache} //此区域内不缓存

缓存集合:

在一个手机网站中,我们可以发现比如机身颜色有白色、黑色、黄色,每当我们点击一个不同颜色的时候可以看到url中就会换一个静态页面,当点击选择移动4G、联通4G的时候又会换到另一个页面。此时有3X2的静态页面。

smarty中的代码如下:

$smarty->display('demo.html',"$brand|$sprice|$color");   //此时第二个参数中应是双引号。

清除缓存:

1.$smarty->clearCache('demo.html',"iphone|100|red"); //清除单个缓存

   $smarty->clearCache('demo.html',"iphone"); //清除iphone下所有缓存

     2.$smarty->clearAllCache(); //清除所有缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值