PHP语言 -- Smarty缓存

include("init.inc.php");

$file = "./cache/newtesta.html"; //当前页面对应的缓存页面

$cachetime = 10; //设置时间是10秒

if(!file_exists($file)||(filemtime($file)+$cachetime<time())) //创建时间+缓存默认时间小于当前时间时 重新加载
{
ob_start();  //开启内存

include("DBDA.php");

$db = new DBDA();

$sql = "select * from Info";

$attr = $db->Query($sql);

$marty->assign("shuju",$attr);

$smarty->display("testa.html");

$nr = ob_get_contents();  //从内存中获取内容

file_put_contents($file,$nr);  //写入文件

ob_flush();  //关闭内存
}
else
{
include($file);
}
时间: 2025-01-15 14:30:09

PHP语言 -- Smarty缓存的相关文章

smarty缓存

smarty缓存 实际上是将解析完的数据保存成一个静态的网页 //静态缓存 //使访问更加快速,减少对数据库的操作量,提示用户体验 减小服务器压力//原理:PHP文件执行完之后,将解析完的数据保存成一个静态的网页 再次访问时 直接访问静态网页 无需再次访问数据库//缺点:不能实时的跟数据库同步 在缓存设定时间内 静态网页无法更改 //适用范围限于一些小程序 对时间精度要求较高的 例如 抢购 无法满足 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.

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

今天主要全面总结下Smarty模板引擎中强大的缓存机制,缓存机制有效减少了系统对服务器的压力,而这也是很多开发者喜欢Smarty的原因之一,由于篇幅较大,便于博友阅读,这篇文章将剖析Smarty缓存的几种方式,下篇文章着重讲解下设置缓存及清除缓存的技巧方法(其中包含缓存集合方法). 一.Smarty缓存的几种方式缓存机制中,分为全局缓存.部分缓存.局部缓存三种方式,后面会一一讲述,下面是缓存设置前,Smarty类方法基本目录设置如下:$smarty->Smarty();$smarty->tem

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

前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关系推到今天,还好思绪没有忘掉,闲话不多说,今天主要讲解Smarty缓存机制中如何清除缓存以及缓存集合的使用技巧,下面步入正题. 一.普通清除缓存方法总所周知,当你看了上一篇文章,会知道通过如下方法,对Smarty的缓存进行清除:代码示例:$smarty->clear_cache("index.

smarty缓存问题

谁能跟我讲下smarty缓存原理   什么时候生成 什么时候用的  看了1天的百度 解析标签是弄懂了 但缓存还是晕 --------解决方案-------- smarty 的缓存被设计成了后台服务形式使用时只要打开 smarty::caching 开关即可,余下的工作都由他自动完成至于他是如何实现的,至少在目前阶段不需要你去知道 --------解决方案-------- 引用 1 楼 xuzuning 的回复: smarty 的缓存被设计成了后台服务形式使用时只要打开 smarty::cachi

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

一.命名空间:namespace 命名空间 可以理解为逻辑上的使用,为了防止重名 namespace :关键字 加载:require_once();//加载一次 include_once() 申明命名空间注意:名称空间一定是在最顶部 在他上面不能有任何内容,名称空间申明不能写在类的内部 use App\Stu; 引入,导入 名称空间\引入类名 as:取别名 二.smarty使用 smarty是一个使用php写出来的模板引擎,拥有独立简单的模板语法,它实现了逻辑代码与模板的分离,把原本HTML与P

PHP smarty缓存

test.php <?php //定义该页面缓存文件存放的路径 $filename = "../cache/cachetest.html"; //定义缓存有效期 $cachetime = 5; //判断缓存文件是否存在 if(!file_exists($filename) || filemtime($filename)+$cachetime<time()) { //开启内存缓存 ob_start(); include("../init.inc.php")

Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法

由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以往往需要C语言中的指针类型,由此,在Swift编程语言刚诞生的时候就有了UnsafePointer与UnsafeMutablePointer类型,分别对应为const Type*类型与Type *类型. 而在Swift编程语言中,由于一般数组(Array)对象都无法直接用于C语言中含有指针类型的函数参数(比如:void*),所以往往需要将数组转为指针类型,此外也需要将数组中元素内容存放到连续的存储空间.此外,

smarty缓存控制

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

PHP语言 -- Smarty变量

test.php <?php include("init.inc.php"); //索引数组 $attr = array(1,2,3,4,5); $smarty->assign("shuzu",$attr);//关联数组$attr2 = array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5); $s