我們已經了解了ThinkPHP中的S方法的用法,F方法其實是S方法的一個子集功能,僅用於簡單數據緩存,並且只能支持文件形式,不支持緩存有效期,因為采用的是PHP返回方式,所以其效率較S方法較高,因此我們也稱之為快速緩存方法。
F方法的特點是:
簡單數據緩存;
文件形式保存;
采用PHP返回數據方式加載緩存;
支持子目錄緩存以及自動創建;
支持刪除緩存和批量刪除;
寫入和讀取緩存
- F('data','test data');
復制代碼
默認的保存起始路徑是DATA_PATH(該常量在默認配置位於RUNTIME_PATH.'Data/'下面),也就是說會生成文件名為DATA_PATH.'data.php'的緩存文件。
注意:確保你的緩存標識的唯一,避免數據覆蓋和沖突。
下次讀取緩存數據的時候,使用:
- $Data = F('data');
復制代碼
我們可以采用子目錄方式保存,例如:
- F('user/data',$data); // 緩存寫入
- F('user/data'); // 讀取緩存
復制代碼
就會生成DATA_PATH.'user/data.php' 緩存文件,如果user子目錄不存在的話,則會自動創建,也可以支持多級子目錄,例如:
- F('level1/level2/data',$data);
復制代碼
如果需要指定緩存的起始目錄,可以用下面的方式:
- F('data',$data,TEMP_PATH);
復制代碼
獲取的時候則需要使用:
- F('data','',TEMP_PATH);
復制代碼
刪除緩存
刪除緩存也很簡單,使用:
- F('data',NULL);
復制代碼
第二個參數傳入NULL,則表示刪除標識為data的數據緩存。
支持批量刪除功能,尤其是針對子目錄緩存的情況,假設我們要刪除user子目錄下面的所有緩存數據,可以使用:
- F('user/*',NULL);
復制代碼
又或者使用過濾條件刪除,例如:
- F('user/[^a]*',NULL);
原網址:http://www.thinkphp.cn/document/312.html