我們已經(jīng)了解了ThinkPHP中的S方法的用法,F(xiàn)方法其實(shí)是S方法的一個(gè)子集功能,僅用于簡(jiǎn)單數(shù)據(jù)緩存,并且只能支持文件形式,不支持緩存有效期,因?yàn)椴捎玫氖荘HP返回方式,所以其效率較S方法較高,因此我們也稱之為快速緩存方法。
F方法的特點(diǎn)是:簡(jiǎn)單數(shù)據(jù)緩存;
文件形式保存;
采用PHP返回?cái)?shù)據(jù)方式加載緩存;
支持子目錄緩存以及自動(dòng)創(chuàng)建;
支持刪除緩存和批量刪除;
寫(xiě)入和讀取緩存
F('data','test data');
默認(rèn)的保存起始路徑是DATA_PATH(該常量在默認(rèn)配置位于RUNTIME_PATH.'Data/'下面),也就是說(shuō)會(huì)生成文件名為DATA_PATH.'data.php'的緩存文件。
注意:確保你的緩存標(biāo)識(shí)的唯一,避免數(shù)據(jù)覆蓋和沖突。下次讀取緩存數(shù)據(jù)的時(shí)候,使用:
$Data = F('data');
我們可以采用子目錄方式保存,例如:
F('user/data',$data); // 緩存寫(xiě)入
F('user/data'); // 讀取緩存
就會(huì)生成DATA_PATH.'user/data.php' 緩存文件,如果user子目錄不存在的話,則會(huì)自動(dòng)創(chuàng)建,也可以支持多級(jí)子目錄,例如:
F('level1/level2/data',$data);
如果需要指定緩存的起始目錄,可以用下面的方式:
F('data',$data,TEMP_PATH);
獲取的時(shí)候則需要使用:
F('data','',TEMP_PATH);
刪除緩存
刪除緩存也很簡(jiǎn)單,使用:
F('data',NULL);
第二個(gè)參數(shù)傳入NULL,則表示刪除標(biāo)識(shí)為data的數(shù)據(jù)緩存。
支持批量刪除功能,尤其是針對(duì)子目錄緩存的情況,假設(shè)我們要?jiǎng)h除user子目錄下面的所有緩存數(shù)據(jù),可以使用:
F('user/*',NULL);
又或者使用過(guò)濾條件刪除,例如:
F('user/[^a]*',NULL);