成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Smarty緩存機制實例詳解【三種緩存方式】

Smarty緩存機制實例詳解【三種緩存方式】

熱門標(biāo)簽:怎么向銷售公司推銷外呼系統(tǒng) 廣東地市地圖標(biāo)注 仁和怎么申請400開頭的電話 長春人工外呼系統(tǒng)服務(wù)商 哪里辦理400電話 廣州防封卡外呼系統(tǒng)多少錢一個月 江西手機自動外呼防封系統(tǒng)是什么 高德地圖標(biāo)注家 外呼系統(tǒng)撥打暫時無法接通

本文實例講述了Smarty緩存機制。分享給大家供大家參考,具體如下:

Smarty模板引擎中強大的緩存機制,緩存機制有效減少了系統(tǒng)對服務(wù)器的壓力,而這也是很多開發(fā)者喜歡Smarty的原因之一,附錄中講解了設(shè)置緩存及清除緩存的技巧方法(其中包含緩存集合方法)。

一、Smarty緩存的幾種方式

緩存機制中,分為全局緩存、部分緩存、局部緩存三種方式,后面會一一講述,下面是緩存設(shè)置前,Smarty類方法基本目錄設(shè)置如下:

$smarty->Smarty();
$smarty->template_dir = $ROOT."/templates";//模板目錄
$smarty->compile_dir = $ROOT."/templates_c";//編譯目錄
$smarty->cache_dir = $ROOT."/cache";//緩存目錄
$smarty->caching = true;//是否開啟緩存,值為0,1,2,0則不開啟:1則開啟緩存:2則可設(shè)置特殊緩存,即在加載模板頁前,對局部進行緩存時間的特殊設(shè)定,后面會講到;可不寫,默認為true-開啟
$smarty->cache_lifetime = "3600";//緩存時間 ,可不寫,默認為3600
$smarty->compile_check = true;//是否進行編譯,可不寫,默認為true

緩存機制中調(diào)用模板生成緩存頁面,用的一個display()方法,將會在后文中用到,這里先講解一下:

$smarty->display(string template[, string cache_id[, string compile_id]]);

第一個必須參數(shù):template,為需顯示的模板;
第二個可選參數(shù):cache_id,可指定一個緩存號,此參數(shù)是給頁面緩存添加一個標(biāo)識的作用;
第三個可選參數(shù):compile_id,可指定一個編譯號 ,此參數(shù)是把一個模板編譯成不同版本時使用,同樣是起一個標(biāo)識的作用,不常用。

上面代碼簡潔、說明易懂吧!若引用創(chuàng)建Smarty類都不知,那下面可以省了,呵,開個玩笑!接著往下看。

1、全局緩存方式

定義:字面上看,意思很明了,就是為整個網(wǎng)站的全部頁面都進行緩存生成,只要頁面調(diào)用了Smarty類模板。

代碼實例:其實,在這段之前的基本目錄設(shè)置中就講到了,為說明,用藍顏色標(biāo)明了出來代碼,只要在類中這樣設(shè)置,并在頁面中進行如下引用,頁面即進行了緩存,

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

而這條語句,有一個很大的缺陷,就是一個模板即一個模板頁面,只生成一個緩存,而我們知道,大多網(wǎng)站的多數(shù)頁面后面會接一些參數(shù)或不同頁面調(diào)用同一個模板,比如:

http://blog.unvs.cn/archives/2012_9.html
http://blog.unvs.cn/archives/2012_8.html
http://blog.unvs.cn/archives/2012_7.html

比方這些是調(diào)用的同一個模板生成的頁面,但是又必須生成3個緩存,使用上面的語句肯定做不到,這里我們要想到一開始講到的第二個可選參數(shù)cache_id,用一個緩存號,來區(qū)分同一個模板生成不同的頁面及緩存,代碼實例:

$cache_id = $_GET['id'];//url中的id參數(shù)值
$smarty->display('index.tpl', $cache_id);//將緩存號加入,即可完成–同一模板–不同參數(shù)–不同緩存 的功能;

到這里,有人發(fā)現(xiàn),如果我的頁面不止一個參數(shù),那是不是得全部解析出來并做為緩存號?這里有一個更好的方法,推薦給大家,也是網(wǎng)上大多贊同的。(其實,上面一段是'廢話',可去掉,但為了循序漸進,更好理解而寫的過渡,諒)

推薦的方法是:你可以直接將整個當(dāng)前URL獲取下來,作為cache_id加入緩存,這樣無論它多少個參數(shù),都不會存在同一個緩存頁,

代碼實例:

$url=$_SERVER['REQUEST_URI'];//獲取當(dāng)前頁URL,有的將url進行md5加密,亦可
$smarty->display('index.tpl', $url);

2、部分緩存方式

定義:意思就是,網(wǎng)站系統(tǒng)的部分頁面進行緩存,而一些頁面不進行緩存,比方網(wǎng)站的注冊、登錄處理頁面可不進行緩存。

一種處理方式:在display()方法前或后面,將此模板緩存進行一次清除操作,注意保持兩者參數(shù)必須一致;

代碼實例:

$smarty->clear_cache("index.tpl");//此句放在display方法句前后都可以
$smarty->display("index.tpl");//與clear_cache方法參數(shù)必須一致

另一種處理方式:原理是一樣的,因為部分緩存相當(dāng)于兩種情況,你可以另寫一個display方法進行重構(gòu),其中一個參數(shù)判斷是否進行緩存,若不,則進行clear_cache()方法處理,否則進行緩存;

代碼實例:

function display($temp_name, $cache_id = null,$is_cache = true){
if($is_cache){
$smarty->clear_cache("index.tpl", $cache_id);
$smarty->display("index.tpl", $cache_id);//此兩句不解,見上面綠色代碼
}else{
$smarty->display("index.tpl", $cache_id);
}}

調(diào)用方法:

self::display($temp_name, $cache_id, false);
//這樣設(shè)置即不進行緩存,有任何疑問可留言提出。

3、局部緩存方式

定義:一個頁面,一些地方不進行緩存,保持動態(tài)更新,每次都加載,比如文章詳細頁的瀏覽次數(shù)、登錄窗口框等。

有幾種可實現(xiàn)局部緩存的方法(反面即處理好不緩存的地方就可實現(xiàn)局部緩存),著重講解1、2種方法,我覺得就可以了,不用學(xué)會那么多。

a、使用SMarty引擎中內(nèi)置的nocache函數(shù),實現(xiàn)不緩存功能(smarty3.1.8版支持,不知smarty2+是否支持)

直接在tpl或html模板頁中,不緩存區(qū)域加入{nocache}不緩存內(nèi)容{/nocache}即可。
代碼實例:

處理頁面:$smarty->assign("time",time());

模板頁面:{nocache}{$time}>{/nocache}

b、注冊塊方法,實現(xiàn)不緩存

寫一個no_cached方法,并調(diào)用smarty注冊塊函數(shù)將方法進行注冊,即可實現(xiàn),直接貼實例。

代碼實例:

處理頁面:$smarty->assign("time",time());

function no_cached($param, $content){//參數(shù)$param為塊參數(shù)數(shù)組,參數(shù)$content為不緩存內(nèi)容
return $content;
}
$smarty->register_block("no_cached", "no_cached", false);//注冊塊方法:register_block($tpl_func, $reg_func, $cacheable);//參數(shù)1為模板函數(shù);參數(shù)2為需注冊的函數(shù)即上面寫的函數(shù);參數(shù)3為是否進行緩存,這里必須設(shè)置為false

模板頁面:{no_cached}{$time}>{/no_cached}

c、當(dāng)然還有其他一些方法,比如:注冊函數(shù)等,這里就不介紹了,其中注冊塊詳細使用,請查看smarty說明書,這里就不詳述了。

4、緩存機制中的is_cached用法

最后,說下is_cached($temp_tpl[, $cache_id])判斷是否已被緩存這個方法,$temp_tpl參數(shù)為模板頁,$cache_id參數(shù)為緩存號,這個方法主要用在加載模板前進行緩存判斷,若不存在就加載數(shù)據(jù),若存在直接跳過,這樣就達到了緩存的最終目的。

示例:

if(!smarty->is_cached('index.tpl')){//不存在緩存
//調(diào)用數(shù)據(jù)庫,并對變量進行賦值
}
$smarty->display('index.tpl');//加載模板頁

以上為Smarty的三種緩存

附:Smarty清除緩存方法

一、普通清除緩存方法

通過如下方法,對Smarty的緩存進行清除:

代碼示例:

$smarty->clear_cache("index.tpl");//清除一個模板的緩存;
$smarty->clear_cache("index.tpl", $cache_Id);//清除一個帶緩存編號的緩存;如:頁面http://www.abc.com/index.asp?act=login,可以將$cache_id設(shè)為login;
$smarty->clear_all_cache();//清除所有緩存,即緩存目錄下所有緩存文件;

這樣就存在一個問題,比方網(wǎng)站有一個欄目:http://blog.unvs.cn/archives/php/,我只想清除這一個欄目的頁面緩存而不想全部清除或一個頁面緩存,這種情況經(jīng)常會碰到,那么,接下來會講到Smarty引擎中強大的緩存集合方法。

二、清除緩存集合方法

Smarty中文教程是這樣描述的:可以通過建立cache_id集合做更詳細的集合體,在cache_id集合里用豎線"|"來分開子集合??梢员M可能多的包含子集合。

上面解釋的有點云里霧里,簡單點說,就是在建立緩存中,將cache_id以一個帶集合標(biāo)識保存,用豎線隔開集合標(biāo)識與緩存編號,而不僅僅是單一緩存編號,如:

$smarty->display("index.tpl", "category|".$cache_id);
//前面加了一個 category| 的前綴,表明將把緩存編號為$cache_id保存在category集合里,可以理解為分組;

這里添加一個緩存文件如何命名知識點,緩存文件命名生成規(guī)則:集合名稱^_Site目錄_頁面名稱_參數(shù)_頁面名稱編碼md5加密

如下圖所示:

(category屬于一個集合,index屬于一個集合)

剛將了集合的生成,下面關(guān)鍵如何清除集合下的緩存,方法如下:

$smarty->clear_cache(null, "category");
//注意模板文件參數(shù)為null,""都不可以。

以上就完成了集合緩存的生成與清除,其實,網(wǎng)上也有這樣一種方法:給一個欄目新建一個目錄,比方news欄目,緩存生成放到一個news的緩存文件夾,這點不難,然后需要清除此欄目緩存時,緩存路徑指向news即可。這個方法可行,個人覺得靈活性不高。

好了,關(guān)于Smarty緩存機制原理的講解就完成了,當(dāng)然這些只是實際開發(fā)常用的應(yīng)用技巧,還有更多與緩存相關(guān)的函數(shù)、塊什么的,不過掌握這些,相信Smarty緩存就可以運用自如了。

更多關(guān)于Smarty相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《smarty模板入門基礎(chǔ)教程》、《PHP模板技術(shù)總結(jié)》、《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于smarty模板的PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • Smarty模板引擎緩存機制詳解
  • PHP模板引擎Smarty的緩存使用總結(jié)
  • Smarty局部緩存的幾種方法簡介
  • Smarty的配置與高級緩存技術(shù)分享
  • smarty 緩存控制前的頁面靜態(tài)化原理
  • php smarty模版引擎中的緩存應(yīng)用
  • php smarty模版引擎中的緩存應(yīng)用
  • smarty緩存用法分析
  • smarty模板局部緩存方法使用示例
  • PHP文件緩存smarty模板應(yīng)用實例分析
  • Smarty高級應(yīng)用之緩存操作技巧分析

標(biāo)簽:黔東 文山 濮陽 廈門 梅河口 惠州 湘西 海北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Smarty緩存機制實例詳解【三種緩存方式】》,本文關(guān)鍵詞  Smarty,緩存,機制,實例,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Smarty緩存機制實例詳解【三種緩存方式】》相關(guān)的同類信息!
  • 本頁收集關(guān)于Smarty緩存機制實例詳解【三種緩存方式】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲人metart人体| 欧美日韩精品在线观看视频| 日韩一区二区免费看| 久久久久久9999| 欧美不卡激情三级在线观看| 久操视频在线播放| 精品国产一区二区三区四区精华| 成人a免费在线看| 国产69精品久久久久99| 麻豆视频网站在线观看| 国产真人真事毛片视频| 欧美18—19sex性hd| 午夜精品久久久久久久久久久久| 一区二区三区四区在线看| 欧美一级视频在线观看| 91在线视频观看免费| 青娱乐在线视频观看| 欧美va亚洲va香蕉在线| 毛片在线视频播放| 精品国产乱码一区二区三区| 日韩国产第一页| 一个人看的www免费观看视频| 绿色成人影院| 视频直播国产精品| 日韩精品免费一线在线观看| 欧美成人a视频| 五级黄高潮片90分钟视频| 亚洲无限乱码一二三四麻| 一本岛在免费一二三区| 吉吉日韩欧美| 久久精品综合视频| 亚洲精品自拍偷拍| 一本到一区二区三区| 国产精品久久久久久久久久久久冷| 欧美日精品一区视频| 精品午夜一区二区| 九九免费精品视频| 久久资源av| 亚洲精品18在线观看| 久久久影视传媒| 91欧美极品| 亚洲国产成人tv| 亚洲国产另类 国产精品国产免费| 欧美一级大片视频| 免费在线观看成年人视频| 成人免费看黄yyy456| 蜜桃在线一区二区三区精品| 久久久久久av无码免费网站下载| 国外亚洲成av人片在线观看| 国内精品麻豆美女在线播放视频| 一区二区视频免费完整版观看| 国产老肥熟xxxx在线观看| 色爱精品视频一区| 麻豆视频在线观看免费网站黄| 麻豆国产精品视频| 另类ts人妖一区二区三区| а中文在线天堂| 亚洲一区美女视频在线观看免费| 国产伦精品一区二区三区视频我| 成人羞羞网站入口免费| 成人激情电影在线看| 欧美老女人在线| 国产精品麻豆va在线播放| 欧美黑人巨大xxxx猛交| 欧洲毛片在线视频免费观看| 色的视频在线观看免费播放| 亚洲成人午夜影院| 国产日韩欧美精品一区| 俺去亚洲欧洲欧美日韩| 久久精品91久久香蕉加勒比| 日本在线免费观看一区| 亚洲二区自拍| 中国老女人av| 成人影视亚洲图片在线| 福利视频导航大全| 国产免费人做人爱午夜视频| 亚洲系列第一页| 可以免费观看的毛片| 久久精品欧美日韩精品| 国产精品二区视频| 亚洲天堂av线| 国产麻豆一精品一男同| 懂色av蜜臀av粉嫩av喷吹| 在线免费观看视频网站| 国内精品视频久久| 欧美a在线观看| 6699嫩草久久久精品影院| 亚洲综合极品香蕉久久网| av免费网站在线| 国产成人在线小视频| 欧美日韩国产页| 精品一区二区三区四区在线| 91免费在线播放| 亚洲欧洲精品在线| 欧美亚韩一区| av免费观看在线| 国产人妖伪娘一区91| 国产亚洲欧美一级| 亚洲韩国日本中文字幕| 日本一区二区高清| 91精品国产91久久久久久黑人| 国产性生活视频| 免费播放片a高清在线观看| 亚洲天天影视| 色妞www精品视频| 调教视频在线观看| 欧美1级片网站| 成人影视免费观看| 精品国产导航| 日韩av中文字幕在线| 美女国产一区二区| 很黄很色的网站| 亚洲天天综合| 一区二区在线不卡| 色综合欧美在线视频区| 黑人巨大亚洲一区二区久| 国产偷国产偷亚洲高清人白洁| 中文字幕亚洲一区二区三区| 色开心亚洲综合| 男人日女人的bb| 国产精品综合在线视频| 午夜天堂精品久久久久| 麻豆一区二区在线| 国产亚洲精品久久久| 国产精品久久久一区| 亚洲www免费| 被陌生人带去卫生间啪到腿软| 国产网站av| 大白屁股一区二区视频| 欧美成在线视频| 欧美精品电影免费在线观看| 96精品视频| 日韩av一区二区在线播放| 久久久国产一区二区三区四区小说| 老司机午夜免费精品视频| 99久久自偷自偷国产精品不卡| 久久国产成人午夜av影院宅| 日韩视频在线观看国产| 亚洲精品ww久久久久久p站| 999日本视频| 国产视频久久久久久久| 高清不卡一区二区三区| 91麻豆精品久久久久蜜臀| 伊人久久亚洲美女图片| 日韩高清影视在线观看| 天天影视天天精品| 亚州精品国产| 97影视大全免费追剧大全在线观看| 三级全黄的视频在线观看| 欧美丝袜激情| 亲爱的老师9免费观看全集电视剧| 久久精品www| 日本亚洲免费观看| 国产经典欧美精品| 国产精品伊人| 午夜精品久久一牛影视| 国产精品伦理一区二区三区| 久视频在线观看| 国产偷自视频区视频一区二区| 久久久久成人精品免费播放动漫| 亚洲欧美在线第一页| 亚洲精品久久久久久宅男| 亚洲精品小说| 国产在线视频你懂的| 亚洲成人自拍| 高清日韩电视剧大全免费| 夜夜嗨aⅴ免费视频| 久久草在线看| 国产精品福利观看| 欧美电影免费观看网站| 日韩一区二区三区免费| 麻豆传媒视频在线观看| 亚洲欧美国产精品| 久久久一本精品99久久精品| 天天色天天操天天做| 精品嫩草影院久久| 正义之心1992免费观看全集完整版| 亚洲精品美女久久久久| 黄色av网站在线| 视频一区二区精品的福利| 久久午夜福利电影| 97超级碰碰碰| 青青草免费观看免费视频在线| 日韩a级在线观看| 精品国产一区二区三区av片| 日本免费在线一区| 欧美久久一二区| 18成人免费观看网站下载| 国产成人精品综合久久久| 91短视频在线| 国产一区二区视频免费在线观看| 精品国产午夜福利| 久久久人成影片一区二区三区| www夜片内射视频日韩精品成人| 黄黄的网站在线观看| 国产小视频在线看| 污视频网站在线看| 在线观看免费国产视频| 欧美精品一区二区三区在线看午夜| 国产调教视频在线观看| 成年人福利视频| 中文产幕区在线观看| 婷婷久久免费视频| 日本不卡高清视频| 日本三级韩国三级欧美三级| 中文字幕一区日韩电影| 欧美精品一区二区三区视频| 91佛爷在线| 中文字幕人成人乱码| av片哪里在线观看| 日韩一级二级三级| 奶水喷射视频一区| 99热在线只有精品| 国产精品美女av| 99xxxx成人网| 三级网站免费看| 成人avav影音| 亚洲**毛片| 97在线视频一区| 精品欠久久久中文字幕加勒比| 三级欧美在线一区| 芬兰videosfree性少妇| 欧美一级性视频| 91精品人妻一区二区三区果冻| 国产原创一区二区三区| 激情五月宗合网| 在线亚洲伦理| 日韩中文字幕电影| 在线亚洲天堂| 奇门遁甲1982国语版免费观看高清| 99久久99久久精品免费看小说.| 97免费高清电视剧观看| 日韩黄色一级视频| 国产成人免费视频网站高清观看视频| 成人精品视频一区二区三区| 精品嫩模一区二区三区| 91精品国产综合久久久久久久久久| 97超碰国产一区二区三区| 成人av色网站| 亚洲日韩欧美视频一区| 欧美在线观看在线观看| 欧美日韩中文字幕视频| 91免费精品国偷自产在线在线| 在线成人福利| 91免费的视频在线播放| 一级黄色片在线观看| 欧美色图色就是色| 91麻豆福利| 春意影院免费入口| 午夜一区在线| av资源在线看片| 91麻豆精品91久久久久同性| 欧美人与禽zozzo禽性配| 欧美亚洲另类在线一区二区三区| 日韩高清免费av| 欧美三级在线观看视频| 亚洲无码精品一区二区三区| av网站手机在线观看| 欧美不卡在线观看| 亚洲国产综合色| 激情六月丁香婷婷| 国产激情在线| 日韩精品欧美激情| 亚洲精品在线视频播放| 成人在线中文字幕| 亚洲一本二本| 在线观看三级视频欧美| 日韩午夜av一区| av网站免费在线看| 亚洲最大成人综合网| 成人女人免费毛片| 影音先锋男人每日资源站| 老司机精品视频一区二区| 亚洲国产日韩欧美在线观看| 中文字幕日韩三级片| 日韩欧美一区二区三区免费观看| 国产日韩欧美综合精品| 一道本在线视频| bt天堂新版中文在线地址| 黄色在线观看av| 高清精品视频| 国产精品亚洲成在人线| 精品日产卡一卡二卡麻豆| 中文字幕精品—区二区日日骚| 欧美人与性动xxxx| 婷婷综合影院| 中文字幕久久久av一区| 99在线观看视频| 欧美成人亚洲高清在线观看| 超碰在线一区二区三区| 欧美亚洲另类小说| 国产乱人伦精品一区| 免费成人蒂法| 91精品国产欧美一区二区| 欧美久久久久久久久久久久久| 欧洲一级视频| av在线亚洲天堂| 日韩第一页在线| 日韩中文字幕在线一区| 黄色网页免费在线观看| 在线观看毛片网站| xxxxxhd亚洲人hd| 国产91av在线播放| 欧美三级xxx| 日韩欧美精品在线不卡| 亚洲二区精品| x99av成人免费| 欧美精品电影在线播放| 99精品一区二区三区无码吞精| www.-级毛片线天内射视视| 欧美日韩不卡中文字幕在线| 国产亚洲成av人在线观看导航| 国产精品自拍电影| 粉嫩av国产一区二区三区| 国产精品视频白浆免费视频| 在线视频欧美一区| 国产红桃视频| 青青草手机在线观看| 久久九九热视频| 亚洲精品亚洲人成在线| 久热精品视频在线| 亚洲精品一区在线观看香蕉| 日韩一区二区免费高清| 九九热这里只有精品6| 成人免费高清完整版在线观看| 国产一区在线视频| 一区福利视频| 操人视频在线观看欧美|