smarty实现缓存
首先需要在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实现缓存的更多相关文章
- Smarty Caching缓存 ¥ 我要打赏
Smarty Caching缓存 https://www.yiibai.com/smarty/smarty_caching.html https://www.w3cschool.cn/smarty/s ...
- smarty之缓存机制
当smarty开启缓存时,当tpl文件内容改变时,则缓存页面会重新生成 test.php: <?php date_default_timezone_set('asia/shanghai'); h ...
- smarty之缓存笔记
smarty缓存技术 在smarty中,缓存分为:普通缓存,单模版都缓存,局部缓存. 缓存:1:首选打开缓存配置项:$smarty->caching=true; 2:缓存生命周期的配置选项:$s ...
- smarty学习——缓存
存被用来保存一个文档的输出从而加速display()或fetch()函数的执行.如果一个函数被加进缓存,那么实际输出的内容将用缓存来代替. 缓存可让事物非常快速的执行,特别是带有长计算时间的模板.一旦 ...
- smarty静态缓存
缓存能让程序访问起来更加快速,调数据库的数量变少,不能实时的跟数据库同步, 一般缓存文件都放在smarty文件下cach文件夹中: 建立缓存的PHP和HTML文件: 先编辑PHP文件来查询显示数据库当 ...
- 12月18日Smarty文件缓存
缓存 做缓存的目的是为了让程序运行起来更加迅速.因为如果程序访问数据库时数据量较大,执行起来会比较慢.而且每一次刷新页面都会访问依稀数据库,然后再把数据显示在页面上. 设置缓存也有一个缺点,那就是缓存 ...
- smarty 内存缓存
<?php //缓存 //定义一个该页面的缓存文件路径 $filename="../cache/mainhc.html"; //设置一个缓存时间 $time=; //判断缓存 ...
- Smarty缓存技术总结
大家应该都知道合理使用缓存能有效的减轻网站的服务器压力,php Smarty作为一个非常优秀的php模板引擎,它为我们提供了非常简单而多样化的缓存操作,下面就让我们学习一下smarty缓存操作方面的一 ...
- 全面剖析Smarty缓存机制一[三种缓存方式]
今天主要全面总结下Smarty模板引擎中强大的缓存机制,缓存机制有效减少了系统对服务器的压力,而这也是很多开发者喜欢Smarty的原因之一,由于篇幅较大,便于博友阅读,这篇文章将剖析Smarty缓存的 ...
随机推荐
- 命令cp
cp 源 目标cp -r 递归复制整个目录cp -v 显示复制的详细信息
- C#调用C++ DLL类方法(转)
http://hi.baidu.com/game_dev/item/ba29ecf67bd5f6cf521c26fc
- springmvc 传递对象数组参数 property path is neither an array nor a List nor a Map
Spring MVC 3: Property referenced in indexed property path is neither an array nor a List nor a Map ...
- HW6.23
public class Solution { public static void main(String[] args) { boolean[] box = new boolean[101]; f ...
- TCP/IP 相关总结
1. 三次握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等 ...
- 转载 在.net中使用GAC
转载出处 https://blog.log4d.com/2011/01/gac/ GAC GAC是什么?是用来干嘛的?GAC的全称叫做全局程序集缓存,通俗的理解就是存放各种.net平台下面需要使用的d ...
- SQL提高查询效益之in、not in、between、like等条件讲述
在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法. 仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的.因此,我们得仔细考虑,如果 ...
- pyinstaller打包第一个wxPython程序HelloWorld
pyinstaller 打包hello 7Mb ================= www.pyinstaller.org pip install pypiwin32 pip install pyin ...
- http 需要掌握的知识点(一)
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.HTTP 也属于 TCP/IP 协议族的子集,想要学习 HTTP ,先需要了解 ...
- 编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
package car; public class Vehicle { //定义成员变量 private int wheels; private double weight; public int g ...