php—Smarty-缓存2(26)
一个页面中,有些数据缓存,有些数据不缓存,就是局部缓存
l $smarty->assign(“var”, “value”, true)
第三个参数:表示是否不缓存
l {$var nocache=true}
在模板变量量后使用nocache参数
l {nocache}{/nocache}
使用一对nocache标记,之间的所有内容不缓存


缓存文件:我们发现姓名被直接写到文件中,年龄每次都需要动态读取,实现局部缓存功能

尝试将name和age的值修改,注意页面上发生的变量,name不变,age改变
七、 单页面多缓存
http://localhost/news.php?id=100
查看id为100的新闻
访问后,会对这个模板生成一个缓存文件,缓存的是id为100的新闻
http://localhost/news.php?id=80
查看id为80的新闻
这时,看到的将是之前的缓存文件
l $smarty->caching=true
开启缓存机制
l $smarty->display(“tpl”, “cacheid”)
第二个参数表示缓存ID,就是某个缓存文件的唯一标准
代码:

我们分别使用这样的url来访问:
Demo07.php?id=10
Demo07.php?id=83
Demo07.php?id=96
然后,发现在缓存目录下,产生这样几个缓存文件:

文件名^之前的内容就是缓存ID,是缓存文件的唯一标识。
清除缓存文件时该如何操作?
$smarty->clearCache(‘demo07.html’);
这样写,表示将demo07模板的所有的缓存文件清除
$smarty->clearCache(‘demo07.html’,83)
这样写,表示将demo07模板对应的ID为83的缓存文件删除
八、 缓存集合
http://localhost/news.php?kid=10&page=8
表示想查看新闻分类id为10的新闻标题,并显示第8页的数据,该如何进行缓存?
l $smarty->caching=true
开启缓存功能
l $smarty->display(“tpl”, $id1.”|”.$id2)
设置缓存ID,并使用 | 进行连接,表示是一个缓存集合
代码:

运行以下url:
Deo08.php?kid=13&page=2
Deo08.php?kid=25&page=8
Deo08.php?kid=2&page=58
发现,在缓存目录下,产生这样几个缓存文件

其实,就是指将得到的所有参数用 | 连接,生成新的缓存文件
MVC中应用Smarty
一、MVC
1、M:模型
2、 V:视图
3、 C:控制器

就是需要用Smarty替换我们之前的View组件
php—Smarty-缓存2(26)的更多相关文章
- Smarty缓存技术总结
大家应该都知道合理使用缓存能有效的减轻网站的服务器压力,php Smarty作为一个非常优秀的php模板引擎,它为我们提供了非常简单而多样化的缓存操作,下面就让我们学习一下smarty缓存操作方面的一 ...
- 全面剖析Smarty缓存机制一[三种缓存方式]
今天主要全面总结下Smarty模板引擎中强大的缓存机制,缓存机制有效减少了系统对服务器的压力,而这也是很多开发者喜欢Smarty的原因之一,由于篇幅较大,便于博友阅读,这篇文章将剖析Smarty缓存的 ...
- 全面剖析Smarty缓存机制二[清除缓存方法]
前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关 ...
- php smarty 缓存和配置文件的基本使用方法
smarty高级部分包括缓存机制和配置文件的调用 下面是代码实现: 文件一,配置文件: #全局变量 title="网站主页" content="一个网站的主体部分&quo ...
- smarty缓存的使用
<?php require './smarty/Smarty.class.php'; $sm = new Smarty; //$sm->force_compile = true; $sm- ...
- 命名空间namespace、smarty使用(视图分离,MVC)、smarty模板语法、smarty缓存、MVC模式
一.命名空间:namespace 命名空间 可以理解为逻辑上的使用,为了防止重名 namespace :关键字 加载:require_once();//加载一次 include_once() 申明命名 ...
- Smarty缓存的5个知识点
(1)页面缓存:整个页面全局的缓存 需要4个步骤: ①开启缓存 $smarty->caching = true; ②设置缓存的生命周期 $smarty->cache_lifetime ...
- smarty缓存控制
第一步初始化配置文件中设置 如果当前访问的模板有缓存就不需要连接数据库那些代码了,如果要模板局部不缓存,要写在iscache外,模板中用{nocache}
- smarty缓存技术
后台: <?php //要求:当存在缓存文件,直接输出,不存在缓存文件,自己创建缓存,输出 //步骤: //定义该页面存放缓存文件的路径 $filename="../../cache/ ...
- smarty缓存函数
原来在Smarty中在3.0以上版本中不在使用这个clear_all_cache(),而是以$smarty->clearAllCache(); 代替.其中$smarty->clear_ca ...
随机推荐
- Guide to installing 3rd party JARs
Although rarely, but sometimes you will have 3rd party JARs that you need to put in your local repos ...
- JS调用webservice的两种方式
协议肯定是使用http协议,因为soap协议本身也是基于http协议.期中第二种方式:只有webservice3.5以后版本才可以成功 第一种方式:构造soap格式的body,注意加粗的黄色标识,比如 ...
- 【poj3254】Corn Fields 状态压缩dp
AC通道:http://vjudge.net/problem/POJ-3254 [题目大意] 农夫约翰购买了一处肥沃的矩形牧场,分成M*N(1<=M<=12; 1<=N<=12 ...
- 理解UV贴图
一.理解UV贴图UVs是驻留在多边形网格顶点上的两维纹理坐标点,它们定义了一个两维纹理坐标系统,称为UV纹理空间,这个空间用U和V两个字母定义坐标轴.用于确定如何将一个纹理图像放置在三维的模型表面.本 ...
- UNITY录制视屏解决方案 - ShareREC For Unity3D
注意buildSetting里面,AutoGraphic改成opengl es2,否则魅蓝手机上容易出现1/4屏 一.导入项目 1.到Mob官网下载ShareREC For Unity3D 的SDK包 ...
- [SoapUI]怎样从应答报文中获取某个字段的值,然后用其改写某个变量
import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def holde ...
- android,gridview
package com.wes.gridview; import java.util.List; import android.content.Context; import android.cont ...
- LightOJ 1428 Melody Comparison (KMP + 后缀数组)
题意:给定两个串A,B,问你A有多少不同的子串,并且不包含B. 析:首先A有多少个不同的子串,可以用后缀数组来解决,也就是 n - sa[i] - h[i] + 1.但是要是不包含B,可以先预处理A和 ...
- WPF 绑定备忘单
Part I – Common Examples Basic Binding {Binding} Bind to current DataContext. {Binding Name} Bi ...
- word复制粘贴表格不齐
1.查找橡皮擦 2.有时候复制粘贴 表格 会将以前的东西格式也粘贴进来,需要清除格式和重新排版 3.word2007清除格式