ThinkPHP函数详解:F方法(快速缓存方法)
在Think中S方法的用法,F方法其实是S方法的一个子集功能,
仅用于简直数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用
的是PHP返回方式,所以其效率较S方法较高,因此我们也称之为快速缓存方法。
___________________________________________________________________________________________
F方法的特点是:
简单数据缓存;
文件形式保存;
采用PHP返回数据方式加载缓存;
支持子目录缓存已经自动创建;
支持删除缓存和批量删除;
________________________________________________________________________________________
默认的保存起始路径是DATS_PATH(该常量在默认配置于RUNTIME_PATH.'Data'下面);
也就是说会生成文件名为DATA_PATH.'data.php'的缓存文件;
注意:确保你的缓存标识的唯一,避免数据覆盖和冲突。
-----------------------------------------------------------
写入和读取缓存
写入缓存 F('data',test data);
读取缓存数据的时候 $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);
___________________________________________________________________________________________________________________