首先需要在mySmarty中添加配置信息,开启缓存,设置缓存文件存放目录,设置缓存时间
缓存可以实现减少访问数据库,减轻数据库压力,访问一次数据库,形成静态页面,下次直接调用这个页面,也可以用nocache标签实现局部不缓存

在mysmarty类中添加的语句

		$this->cache_dir='./cache';//缓存文件存放目录

		//开启缓存
$this->caching=true;
//配置缓存的生命周期
$this->cache_lifetime=3600;//单位是秒

控制页面01.php

<?php
//演示缓冲
require('../../smarty3/libs/smarty.class.php'); require('./mySmarty.php'); //定义方法
function insert_welcome(){
return 123;
}
//创建对象
$smarty=new mySmarty(); //是否开启缓存 $arr=array();
if(!$smarty->isCached('01.html')){
$conn=mysql_connect('localhost','root','111111');
mysql_query('use boolshop',$conn);//选库
mysql_query('set names utf8',$conn);//设置编码
$sql='select goods_id,goods_name,goods_number,shop_price from goods limit 5';
$rs=mysql_query($sql,$conn); while(($row=mysql_fetch_assoc($rs))!==false){
$arr[]=$row;
}
echo '我走了数据库';
}
//$smarty->clearCache('01.html');//强制清除缓存
$smarty->assign('suiji',rand(),true);//如果第三个参数是true,则这个变量不缓存
$smarty->assign('goods',$arr);
$smarty->display('01.html'); ?>

显示页面01.html

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示数据</title>
<style type="text/css">
{literal}
p{
font-size:25px;
background:green;
} {/literal}
</style> </head>
<body>
<p>这里是一个随机数{rand()*100 nocache}添加nocache属性不缓存(局部的)<p>
<p>这是用assign传的值{$suiji}</p>
用foreach遍历数组<br/>
{foreach from=$goods key='key' item='v'}
<p>
id号:{$v['goods_id']},商品名字:{$v['goods_name']},商品价格{$v['shop_price']},商品储存量 {$v['goods_number']} </p>
{/foreach}
<p>{insert name='welcome' nocache}</p>
</body>
</html>

smarty实现缓存的更多相关文章

  1. Smarty Caching缓存 ¥ 我要打赏

    Smarty Caching缓存 https://www.yiibai.com/smarty/smarty_caching.html https://www.w3cschool.cn/smarty/s ...

  2. smarty之缓存机制

    当smarty开启缓存时,当tpl文件内容改变时,则缓存页面会重新生成 test.php: <?php date_default_timezone_set('asia/shanghai'); h ...

  3. smarty之缓存笔记

    smarty缓存技术 在smarty中,缓存分为:普通缓存,单模版都缓存,局部缓存. 缓存:1:首选打开缓存配置项:$smarty->caching=true; 2:缓存生命周期的配置选项:$s ...

  4. smarty学习——缓存

    存被用来保存一个文档的输出从而加速display()或fetch()函数的执行.如果一个函数被加进缓存,那么实际输出的内容将用缓存来代替. 缓存可让事物非常快速的执行,特别是带有长计算时间的模板.一旦 ...

  5. smarty静态缓存

    缓存能让程序访问起来更加快速,调数据库的数量变少,不能实时的跟数据库同步, 一般缓存文件都放在smarty文件下cach文件夹中: 建立缓存的PHP和HTML文件: 先编辑PHP文件来查询显示数据库当 ...

  6. 12月18日Smarty文件缓存

    缓存 做缓存的目的是为了让程序运行起来更加迅速.因为如果程序访问数据库时数据量较大,执行起来会比较慢.而且每一次刷新页面都会访问依稀数据库,然后再把数据显示在页面上. 设置缓存也有一个缺点,那就是缓存 ...

  7. smarty 内存缓存

    <?php //缓存 //定义一个该页面的缓存文件路径 $filename="../cache/mainhc.html"; //设置一个缓存时间 $time=; //判断缓存 ...

  8. Smarty缓存技术总结

    大家应该都知道合理使用缓存能有效的减轻网站的服务器压力,php Smarty作为一个非常优秀的php模板引擎,它为我们提供了非常简单而多样化的缓存操作,下面就让我们学习一下smarty缓存操作方面的一 ...

  9. 全面剖析Smarty缓存机制一[三种缓存方式]

    今天主要全面总结下Smarty模板引擎中强大的缓存机制,缓存机制有效减少了系统对服务器的压力,而这也是很多开发者喜欢Smarty的原因之一,由于篇幅较大,便于博友阅读,这篇文章将剖析Smarty缓存的 ...

随机推荐

  1. HDU-2686 Matrix 多进程DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2686 经典的多进程DP,比较简单.f[x1][y1][x2][y2]表示起点到点(x1,y1)和(x2 ...

  2. nodejs学习:sails框架的学习

    上周通过搭建CMS系统接触到了sails框架,知道一些ORM的概念.这周开始深入后台数据交互,发现twenty框架的数据结构在sails上又设计了一番(比如node.category),不得不说师哥就 ...

  3. HDU3966-Aragorn's Story(树链剖分)

    第一道树链剖分. 早就想学..一直懒.. 感觉还是比较简单的. 主要是要套其他数据结构,线段树大概还好,平衡树之类的肯定就跪了. http://blog.csdn.net/acdreamers/art ...

  4. Umbraco中的ModelBuilder

    Umbraco中的ModelBuilder有以下几种形式 Pure Live models Dll models LiveDll models AppData models LiveAppData m ...

  5. 转载 https协议和http协议的区别

    转载原地址: http://aajs800.blog.51cto.com/519255/109555 什么是HTTPS: HTTPS(Secure Hypertext Transfer Protoco ...

  6. 转载Entity Framework 5.0(EF first)中的添加,删除,修改,查询,状态跟踪操作

    转载原出处:http://www.cnblogs.com/kenshincui/p/3345586.html Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以 ...

  7. 背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)

    以背景黑色,透明度0.5举例为大家详细介绍下关于背景透明,文字不透明的最佳方法同时兼容IE,具体实现如下,感兴趣的朋友可以参考下哈希望对大家有所帮助 以背景黑色,透明度0.5举例 非IE:backgr ...

  8. Android 查看内存

    文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-a ...

  9. MSSQLSERVER数据库- LEFT JOIN后面跟着WHERE竟变成内联 解决方法

    在LEFT JOIN后面跟着WHERE竟变成内联.百度后看到这个解决方法. 记录如下: select sre.*, co.description from subscribedratingelemen ...

  10. 最近看了点C++,分享一下我的进度吧!

    #include <iostream> #include <cmath> #include <iomanip> using namespace std; //Stu ...