smartyでのcacheの設定について

2668 ワード

smartyはキャッシュを開くオブジェクトがあります
$caching:
1:値が1の場合、デフォルトのキャッシュ保存時間は3600秒です.cacheが設定されている場合Lifetime、キャッシュ保存時間はcache_に従いますLifetimeが設定する時間は準である.たとえば、
<?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は期限切れであり、このときの時間は前回キャッシュファイルが生成されたときに設定する時間である.
次のようになります.
<?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:
ローカルキャッシュしない設定の4つの方法:
  • 第1種:変数をキャッシュしない
  • を設定する
        
    {$name nocache}
  • 第2種:一部のコンテンツが{nocache}ローカルにキャッシュされないデータ{/nocache}
  • をキャッシュしないように設定する.
  • 第3種:PHPページに$smarty->assign('vname',$vname,true)を設定する.
  • 第4種: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);

    キャッシュの削除(smarty 3.0)
    一、単一キャッシュの削除
    シングルモジュールシングルキャッシュの削除:clearCache('テンプレートファイル');
    単一テンプレートマルチキャッシュの削除:clearCache('テンプレートファイル',cache_id);
    指定した番号のキャッシュを削除します:clearCache('xxxx.html',3);       
    二、すべてのキャッシュを削除する
    すべてのキャッシュを削除:clearAllCache()