亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP模板引擎Smarty的緩存使用總結

2020-03-22 18:08:20
字體:
來源:轉載
供稿:網友
這里我們將分析一下如何開啟和使用smarty緩存,如何清除smarty緩存以及smarty的全局緩存,部分緩存,局部緩存三種緩存機制。一、開啟和使用smarty緩存要開啟smarty的緩存,只需在smarty設置參數里面將caching設為true,并指定cache_dir即可。同時設置cache_lefetime參數指定緩存生存時間(單位為秒)。如果要對相同頁面生成多個不同的緩存,可以在display或fetch中加入第二參數cache_id,如:復制代碼 代碼如下:$smarty- display('index.tpl',$my_cache_id);此特性可用于對不同的$_GET進行不同的緩存。

二、清除smarty緩存清除smarty緩存一般有以下幾種方式:
復制代碼 代碼如下:
clear_all_cache();//清除所有緩存
clear_cache('index.tpl');//清除指定模板index.tpl的緩存
clear_cache('index.tpl',cache_id);//清除指定模板指定id的緩存
三、全局緩存全局緩存就是為整個網站的全部頁面都生成緩存頁面。設置全局緩存首先我們要操作smarty的配置文件,開啟緩存,指定緩存文件目錄,并設置緩存的存活時間,設置參數如下:
復制代碼 代碼如下:
$smarty- cache_dir='./cache/'; //設置存放緩存文件的文件夾
$smarty- caching=1;//開啟緩存 0、FALSE代表關閉|非0數字、TRUE代表開啟
$smarty- cache_lifetime=3600//單位為秒(如果填寫-1為永不過期)
接下來我們要去具體的html' target='_blank'>php頁面設置與之對應的具體緩存文件的名字,在php頁面中可按如下寫法:復制代碼 代碼如下:$smarty- display('list2.html',md5($_SERVER['REQUEST_URI']));//將當前頁面的URL(包含?后面的所有參數)進行md5加密然后設置緩存文件名需要注意的是:
復制代碼 代碼如下:
$smarty- display('與之對應的模板文件名','緩存文件名的補充部分')這個方法。第二個參數不是必須的,如果不寫的話,緩存文件名就是模板文件名經過加密處理后的文件。但是這樣會碰到一個比較棘手的問題,例如:
復制代碼 代碼如下:
http://www.phpstudy.net/article.php?id=5
http://www.phpstudy.net/article.php?id=7這兩個個URL對應應該的不同的內容,但是生成的緩存文件名都是 article 加密后的結果。這就會導致用戶想要查詢的是不同的內容,訪問的卻是同一個緩存文件。所以建議加上一個輔助參數,將訪問url(包含?后面的所有參數)md5加密是比較靠譜的一種做法。四、部分緩存部分緩存就是指定一些文件生成緩存文件,而非網站的全部文件。部分緩存的實質其實是部分不緩存,也就是說不是指定哪些文件生成緩存,而是指定具體一些文件不生成緩存?,F在假設有3個文件:
復制代碼 代碼如下:
http://www.phpstudy.net/index.php //需要緩存
http://www.phpstudy.net/cate.php //需要緩存
http://www.phpstudy.net/article.php //不需要緩存前面兩個文件的php文件里面還是需要寫上$smarty- display('與之對應的模板文件名','緩存文件名的補充部分')這句。但在第三個文件中我們要特別指明不需要生成緩存,具體的方法是在display指定模板之前寫上下面這段代碼:
復制代碼 代碼如下:
$smarty- clear_cache('與之對應的模板文件名');//其實寫在$smarty- display('與之對應的模板文件名')之前還是之后都可以當然$smarty- display('與之對應的模板文件名')還是要寫,本來就不想生成緩存,第二個參數也就不需要了。注意:$smarty- clear_cache()和$smarty- display()的參數一定要寫成一致的五、局部緩存局部緩存就是指定同一頁面下的某些局部地方生成緩存。其實它不是指定哪些局部生成緩存,而是哪些局部不生成緩存(這和部分緩存的操作思想是類似的)。我們先來看下面一個例子:article.php 文件部分內容如下:
復制代碼 代碼如下:
?php$time=time();$smarty- assign('time',$lanmuarr);function insert_timeget(){return time();}$smarty- display('article.html');對應模板文件article.html部分代碼如下:
復制代碼 代碼如下:
body {$time} !--開啟緩存后,重復刷新這個值不會變-- {insert name='timeget'} !--開啟緩存后,重復刷新這個值會變-- /body 這里對上面的例子做一下解釋:在PHP中我們只要定義了函數名為 insert_ (注意下劃線)自定義補充名的自定義函數,在其中返回的值,不需要assign()方法傳遞,就能直接在模板頁面中以{insert name='自定義補充名'}的方式調用,同時不會受到緩存的影響,而實時刷新。另外補充的一下是如果你感覺使用 Smarty 緩存不夠爽的話,還可以使用自定義緩存,如何使用自定義緩存呢?這里需要設置cache_handler_func使用自定義的函數處理緩存,如:
復制代碼 代碼如下:
$smarty- cache_handler_func="myCache";function myCache($action,&$smarty_obj,&$cache_content,$tpl_file=null,$cache_id=null,$compile_id=null){switch($action){case "read"://讀取緩存內容case "write"://寫入緩存case "clear"://清空}}

PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产乱肥老妇国产一区二| 国产精品亚洲美女av网站| 亚洲97在线观看| 欧美日本精品在线| 中文字幕日韩精品有码视频| 日韩成人在线视频网站| 成人在线视频福利| 成人高h视频在线| 国产精品夜间视频香蕉| 精品动漫一区二区三区| 国产日韩换脸av一区在线观看| 粉嫩老牛aⅴ一区二区三区| 欧美日韩精品二区| 国产成人在线一区二区| 国产精品视频一区二区三区四| 欧美大片va欧美在线播放| 热99精品里视频精品| 成人激情免费在线| 欧美成人亚洲成人日韩成人| 亚洲欧美激情一区| 国产在线观看精品一区二区三区| 国产精品视频专区| 黄色一区二区在线| 欧美亚洲国产另类| 91久久精品国产91性色| 久久影视电视剧免费网站| 欧美电影在线观看| 亚洲第一精品夜夜躁人人躁| 欧美日韩国产综合视频在线观看中文| 亚洲国产精品成人一区二区| 69av在线播放| 亚洲欧洲国产伦综合| 深夜福利日韩在线看| 日韩欧中文字幕| 亚洲人在线观看| 51视频国产精品一区二区| 久久久久免费精品国产| 欧美成年人网站| 精品国产乱码久久久久酒店| 国产成人福利夜色影视| 综合欧美国产视频二区| 久久亚洲综合国产精品99麻豆精品福利| 欧美日韩在线看| 26uuu日韩精品一区二区| 国产丝袜一区二区| 欧美巨乳在线观看| 热99精品只有里视频精品| 精品亚洲一区二区三区四区五区| 亚洲精品影视在线观看| 91日韩在线播放| 亚洲激情在线视频| 亚洲精品久久久久久久久| 国内精品久久久久久中文字幕| 国内久久久精品| 久久久久久久久久久成人| 欧美性极品xxxx做受| 亚洲无线码在线一区观看| 国产精品成人观看视频国产奇米| 永久免费毛片在线播放不卡| 亚洲国产天堂久久综合| 亚洲男人的天堂在线| 国产美女高潮久久白浆| 欧美日韩激情视频8区| 国产亚洲激情在线| 日韩精品免费一线在线观看| 一本色道久久综合狠狠躁篇的优点| 亚洲最大福利网| 亚洲第一色在线| 久久艹在线视频| 亚洲性猛交xxxxwww| 国产亚洲欧美一区| 欧美专区在线观看| 久久视频在线免费观看| 日韩av最新在线| 亚洲精品福利免费在线观看| 亚洲片在线观看| 国产91精品视频在线观看| 久久亚洲精品小早川怜子66| 日本乱人伦a精品| 国产精品2018| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久久久久久久国产精品| 亚洲资源在线看| 国产丝袜一区二区三区| 黑人欧美xxxx| 伊人精品在线观看| 性色av一区二区三区免费| 日韩亚洲欧美成人| 日韩中文字幕免费看| 久久久久久午夜| 国产精品丝袜高跟| 国产精品成av人在线视午夜片| 91精品国产高清久久久久久久久| 亚洲v日韩v综合v精品v| 中文字幕日韩av电影| 日韩国产欧美精品一区二区三区| 91精品国产综合久久久久久蜜臀| 永久555www成人免费| xxxx性欧美| 国产成人精彩在线视频九色| 亚洲高清免费观看高清完整版| 日韩成人xxxx| 欧美一级在线亚洲天堂| 日韩高清有码在线| 国产一区二区色| 日韩美女主播视频| 久久精品国产一区二区电影| 欧美另类精品xxxx孕妇| 亚洲精品久久久久久久久久久久| 日韩高清免费观看| 久久免费精品视频| 国产欧美日韩中文| 91在线直播亚洲| 性欧美在线看片a免费观看| 国产精品视频永久免费播放| 日韩动漫免费观看电视剧高清| 久久精品99久久久久久久久| 亚洲国产精品va在线看黑人动漫| 亚洲精品免费在线视频| 亚洲最大av网站| 日韩av色在线| 97精品视频在线| 国产精品999999| 91精品国产自产在线观看永久| 最新国产成人av网站网址麻豆| 国产精品一二区| 日本精品久久久久影院| 欧美黑人极品猛少妇色xxxxx| 亚洲va码欧洲m码| 欧美高清在线视频观看不卡| 欧美一区二粉嫩精品国产一线天| 亚洲aa中文字幕| 成人免费直播live| 国产在线一区二区三区| 日韩电影免费观看中文字幕| 正在播放国产一区| 国产精品视频久久| 国产+成+人+亚洲欧洲| 亚洲一区二区精品| 中文字幕亚洲一区在线观看| 国产精品网站入口| 欧美中文在线观看| 中文日韩在线视频| 国产一区私人高清影院| 国产成人精品亚洲精品| 国产精品偷伦一区二区| 亚洲人av在线影院| 欧美性猛交xxxx乱大交蜜桃| 欧美黑人狂野猛交老妇| 91久久精品国产91久久| 色悠久久久久综合先锋影音下载| 97欧美精品一区二区三区| 日日摸夜夜添一区| 国产精品久久久久久久一区探花| 日韩福利在线播放| 亚洲999一在线观看www| 亚洲精品一区二区久| 亚洲最大av在线| 久久婷婷国产麻豆91天堂| 午夜精品美女自拍福到在线| 日韩国产一区三区| 国产欧美va欧美va香蕉在| 午夜欧美大片免费观看| 中文字幕欧美视频在线|