ThinkPHP中的動態緩衝(S方法)和快速緩衝(F方法)

來源:互聯網
上載者:User
系統預設的緩衝方式是採用File方式緩衝,我們可以在項目設定檔裡面定義其他的緩衝方式,例如,修改預設的緩衝方式為Xcache(當然,你的環境需要支援Xcache)
對於File方式緩衝下的緩衝目錄下面因為快取資料過多而導致存在大量的檔案問題,ThinkPHP也給出瞭解決方案,可以啟用雜湊子目錄緩衝的方式。
'DATA_CACHE_SUBDIR'=>true

還可以設定雜湊目錄的層次,例如

'DATA_PATH_LEVEL'=>2

就可以根據緩衝標識的雜湊自動建立多層子目錄來緩衝。
S方法支援緩衝有效期間,在很多情況下,可能我們並不需要有效期間的概念,或者使用檔案方式的緩衝就能夠滿足要求,所以系統還提供了一個專門用於檔案方式的快速緩衝方法F方法。F方法只能用於緩衝單一資料型別,不支援有效期間和緩衝對象,使用如下:

//快速緩衝Data資料,預設儲存在DATA_PATH目錄下面
F('data',$data);
//快速緩衝Data資料,儲存到指定的目錄
F('data',$data,TEMP_PATH);
F('user/data',$data);
//刪除快取資料
F('data',null);
//擷取快取資料
$data=F('data');
設定檔config.php
//動態緩衝,快取檔案存在於\Runtime\Temp
'DATA_CACHE_TYPE'=>'file',
'DATA_CACHE_TIME'=>'3600',
//'DATA_CACHE_SUBDIR'=>true,//開啟子目錄
//'DATA_CACHE_LEVEL'=>3,//設定子目錄的層次
Action檔案:
function view(){
//緩衝
//$cache=Cache::getInstance('緩衝方式','緩衝參數');
//$cache=Cache::getInstance('Xcache',array('expire'=>60));
//$cache->set('名字','值');或者$cache->name='值';
//$value=$cache->get('名字');或者$value=$cache->name;
//$cache->rm('名字');或者unset($cache->name);

//S('名字','資料','3600','類型')緩衝快捷方法

$user=M('haodetong');

$value=S('list');
if(empty($value)){
$list=$user->select();

S('list',$list,3600);
echo '這個是直接從資料庫中讀取的檔案';
dump($list);
}else{
echo '這個是快取檔案';
dump($value);
}

}
第一次訪問時如:

再次重新整理後如:

以上就介紹了ThinkPHP中的動態緩衝(S方法)和快速緩衝(F方法),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.