Smarty缓存怎么使用

smarty模板配置

 代码如下 复制代码

$smarty->cache_dir = './cache/'; //设置存放缓存文件的文件夹
$smarty->caching = 1; //开启缓存 0、FALSE代表关闭|非0数字、TRUE代表开启
$smarty->cache_lifetime = 3600; //单位为秒(如果填写-1为永不过期)

上面为最简单的了,就是打开缓存

一、使用缓存

要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可.
使用cache_lefetime指定缓存生存时间,单位为秒
要对相同页面生成多个不同的缓存,在display或fetch中加入第二参数cache_id,如$smarty->display(‘index.tpl’,$my_cache_id);此特性可用于对不同的$_GET进行不同的缓存

二、清除缓存

 代码如下 复制代码
clear_all_cache();//清除所有缓存
clear_cache(‘index.tpl’);//清除index.tpl的缓存
clear_cache(‘index.tpl’,cache_id);//清除指定id的缓存

三、使用自定义缓存方式

设置cache_handler_func使用自定义的函数处理缓存
如:

 代码如下 复制代码
$smarty->cache_handler_func = “myCache”;
function myCache($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null){
}

该函数的一般是根椐$action来判断缓存当前操作:

 代码如下 复制代码
switch($action){
case “read”://读取缓存内容
case “write”://写入缓存
case “clear”://清空
}

一般使用md5($tpl_file.$cache_id.$compile_id)作为唯一的cache_id
如果需要,可使用gzcompress和gzuncompress来压缩和解压

一此小细节需要注意事项

Smarty缓存默认状态下是无效的,首先需要你自己去开启smarty缓存。

 代码如下 复制代码

$smarty->caching = 1;

第二,设定缓存的生命周期。在生命周期内访问该页面时,smarty会直接把缓存好的内容返回给用户。而不是像有的其它语言那样先编译运行,链接查找数据库,整理数据生成页面内容,最后再返回给用户。显然能节省很多处理开销。

 代码如下 复制代码
$smarty->cache_lifetime = 86400;//

数字单位:秒,可自由设置

第三,显示页面内容。

 代码如下 复制代码

$smarty->display('index.tpl');

时间: 2024-10-27 23:21:48

Smarty缓存怎么使用的相关文章

手把手教你Smarty缓存技术

大家应该知道缓存机制能能有效的减轻网站的服务器压力,Smarty模板引擎的一大亮点就是为我们提供了非常简单的缓存操作,下面就让我们学习一下. 首先我们要知道Smarty缓存机制分为全局缓存,部分缓存,局部缓存三种,我们一一介绍. 1.全局缓存 顾名思义,全局缓存就是为整个网站的全部页面都生成缓存页面. 首先我们要操作smarty的配置文件,开启缓存,指定缓存文件目录,并设置缓存的存活时间 $smarty->cache_dir = './cache/'; //设置存放缓存文件的文件夹 $smart

smarty缓存用法分析_php技巧

本文详细分析了smarty缓存的用法.分享给大家供大家参考.具体分析如下: 一开始以为smarty只是用来做一些掩饰php代码功能,但是后来才知道还有模板缓存这个强大的功能. 什么是模板缓存呢,就是我们在从数据库里面取出一些数据输出到模板的访问的时候,每一次都对数据库进行访问,但是其实每一次的数据库访问都是相同的,假如网址的流量很大,这种重复的访问完全是没有必要的,对于数据库有很大压力.smarty就提供了缓存技术,用于解决这个问题. 首先使用smarty的缓存,我们有一些要设置的: 开启缓存

php smarty缓存应用与控制

php教程 smarty缓存应用与控制 先看一小程序 请事先配置好php环境.推荐安装xampp.   1.新建一个工程目录 在目录中创建如下目录: 2.将smarty包中libs目录下的文件全部拷入新建工程目录的"smarty"目录中 3.新建一个test.php文件,内容如下:   代码 <?php  require 'smarty/smarty.class.php';  $smarty = new smarty;  $smarty->compile_check = t

smarty缓存控制

smarty提供了强大的缓存功能.但有时我们并不希望整篇文档都被缓存,而是有选择的缓存某一部分内容或某一部分内容不被缓存.例如你在页面上端使用一个带有广告条位置的模板,广告条可以包含任何HTML.图象.FLASH等混合信息. 因此这里不能使用一个静态的链接,同时我们也不希望该广告条被缓存. 这就需要在 insert 函数指定,同时需要一个函数取广告条的内容信息.smarty也提供了这种缓存控制能力. 我们可以使用{insert}使模板的一部分不被缓存 可以使用$smarty->register_

smarty缓存与编译详解

当接到request后,先判断是否第一次请求该url,如果是,将该url所需的模板文件"编译"成php脚本,然后redirect:如果不是,就是说该url的模板已经被"编译"过了,检查不需要重编译后可以马上redirect,重编译条件可以自己设定为固定时限,默认的是模板文件被修改. 关于缓存: 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为 true时,在Smarty设定的

Smarty 缓存集合简单讲解

You can do more elaborate grouping by setting up cache_id groups. This is accomplished by separating each sub-group with a vertical bar "|" in the cache_id value. You can have as many sub-groups as you like. Example 14-9. cache_id groups  代码如下 复

smarty 缓存控制前的页面静态化原理_php技巧

可在display中进行设置 $smarty->display("demo.tpl",$_SERVER[REQUEST_URI])来实现一个模版有多个缓存. 既然文件已经有缓存了,我们就可以走缓存文件了,不用循环的执行连接数据库,进行查询了.用smatry中的一个函数进行判断 $smarty->iscached(demo.tpl"",",$_SERVER[REQUEST_URI])默认值为"true" 这里的模版要和disp

PHP模板引擎Smarty的缓存使用

 一.开启和使用smarty缓存   要开启smarty的缓存,只需在smarty设置参数里面将caching设为true,并指定cache_dir即可.同时设置cache_lefetime参数指定缓存生存时间(单位为秒).如果要对相同页面生成多个不同的缓存,可以在display或fetch中加入第二参数cache_id,如:      代码如下:$smarty->display('index.tpl',$my_cache_id);   此特性可用于对不同的$_GET进行不同的缓存.   二.清

php smarty模版引擎中的缓存应用_php技巧

1,Smarty缓存的配置: 复制代码 代码如下: $smarty->cache-dir="目录名"; //创建缓存目录名 $smarty->caching=true; //开启缓存,为false的时候缓存无效 $smarty->cache_lifetime=60; //缓存时间,单位是秒 2,Smarty缓存的使用与清除 复制代码 代码如下: $marty->display("cache.tpl",cache_id); //创建带ID的缓存