最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ThinkPHP實現(xiàn)靜態(tài)緩存和動態(tài)緩存示例代碼

 更新時間:2017年05月02日 11:05:31   作者:竹影林風(fēng)  
本篇文章主要介紹了ThinkPHP實現(xiàn)靜態(tài)緩存和動態(tài)緩存示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

靜態(tài)緩存

要使用靜態(tài)緩存功能,需要開啟HTML_CACHE_ON參數(shù),并且使用HTML_CACHE_RULES配置參數(shù)設(shè)置靜態(tài)緩存規(guī)則文件。

定義靜態(tài)規(guī)則

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

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

靜態(tài)地址

全局的操作靜態(tài)規(guī)則

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

定義全局的控制器靜態(tài)規(guī)則

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

定義某個控制器的操作的靜態(tài)規(guī)則//定義Blog控制器的read操作進(jìn)行靜態(tài)緩存

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

定義全局的靜態(tài)緩存規(guī)則

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

靜態(tài)規(guī)則

靜態(tài)規(guī)則是用于定義要生成的靜態(tài)文件的名稱,靜態(tài)規(guī)則的定義要確保不會沖突。

使用系統(tǒng)變量

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

使用框架自定義的變量

復(fù)制代碼 代碼如下:

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

使用_GET變量

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

直接使用函數(shù)

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

混合定義

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

動態(tài)緩存

[S方法數(shù)據(jù)緩存]

緩存初始化

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

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

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

設(shè)置緩存

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

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

讀取緩存

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

刪除緩存

S('name',null);

注意:使用每種緩存時,需要ThinkPHP加載對應(yīng)的驅(qū)動文件,并設(shè)置好對應(yīng)的配置。

使用實例

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

[快速緩存]

系統(tǒng)還提供了一個快速緩存方法F可以用來更快的操作,但是,F(xiàn)方法沒有有效期,F(xiàn)方法可以支持不同的存儲類型,如果是文件類型的話,默認(rèn)保存在DATA_PATH目錄下面。

快速緩存Data數(shù)據(jù)

F('data',$Data);
F('data',$Data,TEMP_PATH);//快速緩存Data數(shù)據(jù),保存到指定的目錄
F('User/data',$Data);//F方法支持自動創(chuàng)建緩存子目錄,在DATA_PATH目錄下面緩存data數(shù)據(jù),如果User子目錄不存在,則自動創(chuàng)建。

獲取緩存數(shù)據(jù)

$Data = F('data');

刪除緩存數(shù)據(jù)

F('data',NULL);

[查詢緩存]

查詢緩存功能支持所有的數(shù)據(jù)庫,并且支持所有的緩存方式和有效期。

在使用查詢緩存的時候,只需要調(diào)用Model類的cache方法。

$Model->cache(true)->where('status=1')->select();

如果使用了cache(true),則在查詢的同時會根據(jù)當(dāng)前的查詢條件等信息生成一個帶有唯一標(biāo)識的查詢緩存,如果指定了key的話,則直接生成名稱為key的查詢緩存。

$Model->cache('cache_name')->select();

默認(rèn)情況下緩存方式采用DATA_CACHE_TYPE參數(shù)設(shè)置的緩存方式(系統(tǒng)默認(rèn)值為File表示采用文件方式緩存),緩存有效期是DATA_CACHE_TIME參數(shù)設(shè)置的時間,也可以單獨制定查詢緩存的緩存方式和有效期。

$Model->cache(true,60,'xcache')->select();

如果指定了查詢緩存的key的話,則可以在外部通過S方法直接獲取查詢緩存的內(nèi)容。

$value = S('cache_name');

除了select方法之外,查詢緩存還支持find和getField方法,以及他們的衍生方法(包括統(tǒng)計查詢和動態(tài)查詢方法)。

$Model->where($map)->cache('key',60)->find();

本文主要來自官方文檔,如有問題可參見ThinkPHP3.2官方文檔-緩存

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Yii開啟片段緩存的方法

    Yii開啟片段緩存的方法

    這篇文章主要介紹了Yii開啟片段緩存的方法,結(jié)合實例形式分析了Yii框架片段緩存的開啟與使用技巧,需要的朋友可以參考下
    2016-03-03
  • 實例分析PHP中PHPMailer發(fā)郵件

    實例分析PHP中PHPMailer發(fā)郵件

    本篇文章通過QQ郵箱為例給大家講解了PHPMaIiler的使用方法和技巧,跟著小編學(xué)習(xí)下吧。
    2017-12-12
  • Thinkphp5.0框架視圖view的循環(huán)標(biāo)簽用法示例

    Thinkphp5.0框架視圖view的循環(huán)標(biāo)簽用法示例

    這篇文章主要介紹了Thinkphp5.0框架視圖view的循環(huán)標(biāo)簽用法,結(jié)合實例形式分析了thinkPHP5框架視圖view中的volist標(biāo)簽、foreach標(biāo)簽、for標(biāo)簽相關(guān)使用方法,需要的朋友可以參考下
    2019-10-10
  • TP5(thinkPHP5框架)基于bootstrap實現(xiàn)的單圖上傳插件用法示例

    TP5(thinkPHP5框架)基于bootstrap實現(xiàn)的單圖上傳插件用法示例

    這篇文章主要介紹了TP5(thinkPHP5框架)基于bootstrap實現(xiàn)的單圖上傳插件用法,結(jié)合實例形式分析了thinkPHP5框架結(jié)合bootstrap實現(xiàn)圖片上傳相關(guān)布局與控制器操作技巧,需要的朋友可以參考下
    2019-05-05
  • php配合jquery實現(xiàn)增刪操作具體實例

    php配合jquery實現(xiàn)增刪操作具體實例

    這篇文章主要介紹了php配合jquery實現(xiàn)增刪操作具體實例,有需要的朋友可以參考一下
    2013-12-12
  • Thinkphp 5.0實現(xiàn)微信企業(yè)付款到零錢

    Thinkphp 5.0實現(xiàn)微信企業(yè)付款到零錢

    這篇文章主要為大家詳細(xì)介紹了Thinkphp 5.0實現(xiàn)微信企業(yè)付款到零錢,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • thinkPHP框架RBAC實現(xiàn)原理分析

    thinkPHP框架RBAC實現(xiàn)原理分析

    這篇文章主要介紹了thinkPHP框架RBAC實現(xiàn)原理,結(jié)合實例形式分析了thinkPHP框架中RBAC角色權(quán)限控制相關(guān)實現(xiàn)原理與操作技巧,需要的朋友可以參考下
    2019-02-02
  • ajax php傳遞和接收變量實現(xiàn)思路及代碼

    ajax php傳遞和接收變量實現(xiàn)思路及代碼

    在實際應(yīng)用中會遇到這種情況:ajax與php之間傳遞和接收變量,為了實現(xiàn)這一功能應(yīng)用,很多新手朋友們,只能望洋興嘆啊,于是本人搜集整理一些實用技巧,曬出來和大家分享,希望可以幫助你們
    2012-12-12
  • 如何利用http協(xié)議發(fā)布博客園博文評論

    如何利用http協(xié)議發(fā)布博客園博文評論

    這篇文章主要介紹了利用http協(xié)議發(fā)布博客園博文評論的方法,首先,大家要明確給博文提交評論的實質(zhì)就是通過http協(xié)議服務(wù)器發(fā)送一個post請求,需要的朋友可以參考下
    2015-08-08
  • php+ajax+json 詳解及實例代碼

    php+ajax+json 詳解及實例代碼

    php中使用ajax獲取數(shù)據(jù)是網(wǎng)站開發(fā)中經(jīng)常要用到的,本文章想大家介紹php+ajax+json的一個最簡單實例,對于新手來說學(xué)習(xí)php+ajax有一定的幫助,需要的朋友可以參考下
    2016-12-12

最新評論

镇宁| 文化| 化隆| 延庆县| 张家界市| 清徐县| 德格县| 鹤山市| 南城县| 奇台县| 邹平县| 乌兰浩特市| 成武县| 曲靖市| 安阳县| 玉林市| 金塔县| 贵南县| 肇州县| 汝州市| 肇庆市| 赫章县| 公安县| 怀集县| 二手房| 定日县| 屯昌县| 长沙县| 安远县| 正镶白旗| 南京市| 饶河县| 岳西县| 鄂尔多斯市| 新津县| 固镇县| 塔城市| 遂昌县| 都匀市| 长汀县| 玉田县|