一个页面中,有些数据缓存,有些数据不缓存,就是局部缓存

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)的更多相关文章

  1. Smarty缓存技术总结

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

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

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

  3. 全面剖析Smarty缓存机制二[清除缓存方法]

    前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关 ...

  4. php smarty 缓存和配置文件的基本使用方法

    smarty高级部分包括缓存机制和配置文件的调用 下面是代码实现: 文件一,配置文件: #全局变量 title="网站主页" content="一个网站的主体部分&quo ...

  5. smarty缓存的使用

    <?php require './smarty/Smarty.class.php'; $sm = new Smarty; //$sm->force_compile = true; $sm- ...

  6. 命名空间namespace、smarty使用(视图分离,MVC)、smarty模板语法、smarty缓存、MVC模式

    一.命名空间:namespace 命名空间 可以理解为逻辑上的使用,为了防止重名 namespace :关键字 加载:require_once();//加载一次 include_once() 申明命名 ...

  7. Smarty缓存的5个知识点

    (1)页面缓存:整个页面全局的缓存 需要4个步骤: ①开启缓存  $smarty->caching = true; ②设置缓存的生命周期  $smarty->cache_lifetime ...

  8. smarty缓存控制

    第一步初始化配置文件中设置 如果当前访问的模板有缓存就不需要连接数据库那些代码了,如果要模板局部不缓存,要写在iscache外,模板中用{nocache}

  9. smarty缓存技术

    后台: <?php //要求:当存在缓存文件,直接输出,不存在缓存文件,自己创建缓存,输出 //步骤: //定义该页面存放缓存文件的路径 $filename="../../cache/ ...

  10. smarty缓存函数

    原来在Smarty中在3.0以上版本中不在使用这个clear_all_cache(),而是以$smarty->clearAllCache(); 代替.其中$smarty->clear_ca ...

随机推荐

  1. 什么是“堆”,"栈","堆栈","队列",它们的区别?

    堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象.堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值: ·堆总是一棵完全二叉树. 将根节点最大的堆叫做最大堆 ...

  2. UNITY polygon collider不随物体旋转

    U3D中的一般包围框如 boxcollider, meshcollider, capsule collider等都会随物体旋转而旋转.然而polygon collider却不会. 补充:原来所有2D包 ...

  3. UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout

    UIview需要知道的一些事情:setNeedsDisplay.setNeedsLayout 1.在Mac OS中NSWindow的父类是NSResponder,而在i OS 中UIWindow 的父 ...

  4. 理解C# 4 dynamic(4) – 让人惊艳的Clay(转)

    作者:Justrun名字来自<阿甘正传>,是希望自己能够更更傻一点. link: http://www.cnblogs.com/JustRun1983/p/3529157.html   理 ...

  5. TIME_WAIT和CLOSE_WAIT状态区别

    [TIME_WAIT和CLOSE_WAIT状态区别] 常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭. TCP协议规定,对 ...

  6. 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    实现EXCEL导入功能:web网站,excel导入用OLEDB同样会报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 报错信息: Exception caught. ...

  7. go_gc

    如果想知道当前的内存状态,可以使用: // fmt.Printf("%d\n", runtime.MemStats.Alloc/1024) // 此处代码在 Go 1.5.1下不再 ...

  8. 一些js知识点总结

    1. 函数声明与函数表达式 解析器在像执行环境中加载数据时,会先读取函数声明,并使其在执行任何代码之前都可以访问,对于函数表达式,必须等到解析器执行到它所在的代码行,才会真正被执行. 例: alert ...

  9. push和pop指令的使用

  10. JS如何判断浏览器类型,如何模拟浏览器类型(模拟微信浏览器)

    一.前言 在编写前端代码时,为了页面兼容性,我们往往需要考虑不同的浏览器类型 而这就需要在前端代码中进行识别和区分 接下来就来谈谈对浏览器类型的识别 二.正文 (一).查看浏览器类型的核心代码 var ...