關於smarty中cache的設置

smarty有一個對象能夠開啓緩存

$caching:php

    1:當值爲1的時候,默認緩存保存時間是3600秒.假若設置了cache_lifetime,則緩存保存時間依據cache_lifetime設置的時間爲準.好比說:html

<?php
require "mySmarty.class.php";
$smarty = new mySmarty;
$name ="lolr";
$smarty->caching=1;
$smarty->cache_lifetime=10;
$smarty->assign('tName',$name);
$smarty->display('caching.html');
?>

    當相應的模板文件的信息已經發生改變,則會判斷緩存文件從上次生成的時間到如今是否已通過期,若是過時,則重新生成新的緩存文件,替換掉舊的緩存文件緩存

  

    2:當設置爲2的時候,會去判斷cache_dir目錄中緩存文件中的cache_lifetime是夠已通過期,此時的時間是上次生成緩存文件的時候設置的時間.cookie

    如:session

<?php
require "mySmarty.class.php";
$smarty = new mySmarty;
$name ="ca    6";
$smarty->caching=2;
$smarty->cache_lifetime=20;
$smarty->assign('tName',$name);
$smarty->display('caching.html');

      

 true/false:函數

    $cache_lifetime:ui

局部不緩存的設置四種方法:

  • 第一種:設置變量不緩存spa

    

{$name nocache}

  • 第二種:設置一段內容不緩存code

    {nocache}htm

                       局部不被緩存的數據

    {/nocache}

  • 第三種:在PHP頁面設置 $smarty->assign('vname',$vname,true);

  • 第四種:在PHP頁面中設置以下函數:

            

<?php
    /*
     *age主要是用於在模板中.
     *
     */
    function insert_age(){  
        return time();
        }
?>

   在模板中:

<?php
{insert name="age"}

    注意;insert後邊跟的就是模板中的name的值.


緩存集合的使用

<?php
include "./MySmarty.class.php";
$smarty  = new MySmarty();
$smarty -> caching = 1;


//根據session或cookie得到不一樣的信息
//那麼不一樣session或cookie會連鎖反應產生一些不一樣值的相關信息
//根據session讀取不一樣用戶信息,$group   $addr   $number
//finance  beijing  linken
//finance  shanghai  aobama
//finance  shanghai  bushi
//custom   guangzhou  tom
//custom   chongqing  jack

//根據不一樣session得到的信息
$group = "custom";
$addr = "chongqing";
$name = "jack";
$smarty -> assign('group',$group);
$smarty -> assign('addr',$addr);
$smarty -> assign('name',$name);

//生成的緩存集合,能夠集中處理(09.php)

//$smarty -> display("08.html",$group."|".$addr."|".$name);
$smarty -> display("08.html",$group."/".$addr."/".$name);

刪除緩存(smarty3.0)

    1、刪除單一緩存

            刪除單模板單緩存:clearCache('模板文件');

            刪除單模板多緩存:clearCache('模板文件',cache_id);

            刪除指定編號的緩存:clearCache('xxxx.html',3);        

    2、刪除全部緩存

            刪除全部緩存:clearAllCache();

相關文章
相關標籤/搜索