久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

ThinkPHP實現靜態緩存和動態緩存示例代碼

本篇文章主要介紹了ThinkPHP實現靜態緩存和動態緩存示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

靜態緩存

要使用靜態緩存功能,需要開啟HTML_CACHE_ON參數,并且使用HTML_CACHE_RULES配置參數設置靜態緩存規則文件。

定義靜態規則

'HTML_CACHE_ON'   =>  true, // 開啟靜態緩存
'HTML_CACHE_TIME'  =>  60,  // 全局靜態緩存有效期(秒)
'HTML_FILE_SUFFIX' =>  '.shtml', // 設置靜態緩存文件后綴
'HTML_CACHE_RULES' =>   array( // 定義靜態緩存規則
   // 定義格式1 數組方式
   '靜態地址'  =>   array('靜態規則', '有效期', '附加規則'), 
   // 定義格式2 字符串方式
   '靜態地址'  =>   '靜態規則', 
)

靜態緩存文件的根目錄在HTML_PATH定義的路徑下面,并且只有定義了靜態規則的操作才會進行靜態緩存。 并且靜態緩存支持不同的存儲類型。 靜態緩存僅在GET請求下面有效。

靜態地址

全局的操作靜態規則

'read'=>array('{id}',60)//定義所有的read操作的靜態規則

定義全局的控制器靜態規則

'user:'=>array('User/{:action}_{id}','600')//定義所有的User控制器的靜態規則

定義某個控制器的操作的靜態規則//定義Blog控制器的read操作進行靜態緩存

'blog:read'=>array('{id}',0)//參數為0表示永久緩存

定義全局的靜態緩存規則

'*'=>array('{$_SERVER.REQUEST_URI|md5}')//這個屬于特殊情況下的使用,任何模塊的操作都適用

靜態規則

靜態規則是用于定義要生成的靜態文件的名稱,靜態規則的定義要確保不會沖突。

使用系統變量

{$_×××|function}//_GET、_REQUEST、_SERVER、_SESSION、_COOKIE
{$_GET.name} 
{$_SERVER.REQUEST_URI|md5}

使用框架自定義的變量

復制代碼 代碼如下:

{:module}/{:controller}_{:action}//{:module} 、{:controller} 和{:action}分別表示當前模塊名、控制器名和操作名。

使用_GET變量

{var|function}//{id}其實等效于 {$_GET.id}

直接使用函數

{|function}//{|time},time函數獲取時間后作為文件名稱

混合定義

'{id},{name|md5}' //在{}之外的字符作為字符串對待,如果包含有"/",會自動創建目錄。
{:module}/{:action}_{id}//會在靜態目錄下面創建模塊名稱的子目錄,然后寫入操作名_id.shtml 文件。

動態緩存

[S方法數據緩存]

緩存初始化

S(array('type'=>'xcache','expire'=>60));

系統目前已經支持的緩存類型包括:Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache和Xcache。如果S方法不傳入type參數初始化的話,則讀取配置文件中設置的DATA_CACHE_TYPE參數值作為默認類型。同樣的道理,prefix參數如果沒有傳入會讀取配置文件的DATA_CACHE_PREFIX參數值,expire參數沒有傳入則讀取DATA_CACHE_TIME配置值作為默認。

對于全局的緩存方式,一般我們建議添加prefix(緩存前綴)參數用以區分不同的應用,以免混淆。

設置緩存

數據緩存可以支持緩存隊列,簡單的說就是可以限制緩存的數量,只需要在初始化的時候指定length參數。

S('name',$value);
S('name',$value,300);//緩存數據300秒
S('name',$value,array('type'=>'file','expire'=>300));//改變之前的緩存方式或者更多的參數
S(array('type'=>'xcache','length'=>100,'expire'=>60));//系統只會緩存最近的100條緩存數據。

讀取緩存

$value = S('name');//如果緩存標識不存在或者已經過期,則返回false,否則返回緩存值。

刪除緩存

S('name',null);

注意:使用每種緩存時,需要ThinkPHP加載對應的驅動文件,并設置好對應的配置。

使用實例

$user = M('User');
$value = S('list');
if (empty($value)) {
  $list = $user->select();
  S('list', $list, 3600);
  echo '這個是直接從數據庫中讀取的文件';
  dump($list);
} else {
  echo '這個是緩存文件';
  dump($value);
}

[快速緩存]

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇thinkphp3.2.0 setInc方法 源碼全面解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了tp5(thinkPHP5)操作mongoDB數據庫的方法,結合實例形式簡單分析了mongoDB數據庫及thinkPHP5連接、查詢MongoDB數據庫的基本操作技巧,需要的朋友可以參考下
thinkphp官網在去年的時候發布了tp的顛覆版本thinkphp5,tp5確實比之前的版本好用了很多,那么下面這篇文章就來給大家介紹關于在云虛擬主機部署thinkphp5項目的相關資料,需要的朋友可以
這篇文章主要介紹了Thinkphp5行為使用方法匯總,需要的朋友可以參考下
這篇文章主要介紹了thinkphp5 加載靜態資源路徑與常量的方法的相關資料,需要的朋友可以參考下
主站蜘蛛池模板: 久久成人国产精品 | 成人二区 | 欧美国产日韩精品 | 草草视频在线免费观看 | 美女黄网| 91免费观看 | 色橹橹欧美在线观看视频高清 | 成人黄色电影免费 | 国产成人精品一区二区三区四区 | 国产区高清 | 一区二区三区欧美在线观看 | 国产一区二区久久久 | 国产综合视频 | 一a级片| 91午夜在线 | 国产在线视频一区二区董小宛性色 | 国产精品自拍一区 | 国产精品第2页 | 日韩欧美三级电影在线观看 | 日本视频中文字幕 | 色婷婷综合久久久久中文一区二区 | 理论片免费在线观看 | 亚洲一区视频 | 天天久久| 欧美888| 91久久伊人| 中文字幕 欧美 日韩 | 精品自拍视频在线观看 | 午夜久久久久久久久久一区二区 | 99视频免费播放 | 毛片com| 国产精品久久久久久吹潮 | 欧美一区二区三区在线视频 | 免费日本视频 | 亚洲九九精品 | 日本高清aⅴ毛片免费 | 久久久久国产一区二区三区四区 | 日本午夜精品一区二区三区 | 激情综合五月 | 日韩久久综合网 | 欧美黄色大片在线观看 |