欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ThinkPHP函数详解:F方法

shiping1 的头像

ThinkPHP函数详解:F方法

 
浏览:6313 发布日期:2013/06/03 分类:文档教程 关键字: 函数 F方法
我们已经了解了ThinkPHP中的S方法的用法,F方法其实是S方法的一个子集功能,仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是PHP返回方式,所以其效率较S方法较高,因此我们也称之为快速缓存方法。
F方法的特点是:
简单数据缓存;
文件形式保存;
采用PHP返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;

写入和读取缓存

  1. F('data','test data');
复制代码
默认的保存起始路径是DATA_PATH(该常量在默认配置位于RUNTIME_PATH.'Data/'下面),也就是说会生成文件名为DATA_PATH.'data.php'的缓存文件。
注意:确保你的缓存标识的唯一,避免数据覆盖和冲突。
下次读取缓存数据的时候,使用:
  1. $Data = F('data');
复制代码
我们可以采用子目录方式保存,例如:
  1. F('user/data',$data); // 缓存写入
  2. F('user/data'); // 读取缓存
复制代码
就会生成DATA_PATH.'user/data.php' 缓存文件,如果user子目录不存在的话,则会自动创建,也可以支持多级子目录,例如:
  1. F('level1/level2/data',$data);
复制代码
如果需要指定缓存的起始目录,可以用下面的方式:
  1. F('data',$data,TEMP_PATH);
复制代码
获取的时候则需要使用:
  1. F('data','',TEMP_PATH);
复制代码

删除缓存

删除缓存也很简单,使用:
  1. F('data',NULL); 
复制代码
第二个参数传入NULL,则表示删除标识为data的数据缓存。
支持批量删除功能,尤其是针对子目录缓存的情况,假设我们要删除user子目录下面的所有缓存数据,可以使用:
  1. F('user/*',NULL);
复制代码
又或者使用过滤条件删除,例如:
  1. F('user/[^a]*',NULL);
复制代码
 
评论(20 相关
xieguoen10月23日
55
彼时、年少²º¹³10月22日
F('config',$_POST,CONF_PATH);永久保存参数
happyckx10月22日
[^a]*,是一个正则表式中的内容吧,在这里可能表示:不包括以字符a为文件的任意文件吧,其他全删除。
thinkphpadmin10月15日
[^a]*是什么
cc288609月17日
最后一个好牛B
xxm09月06日
恩恩 好好
tp8491374009月03日
学习了
yiyunnet08月19日
哈哈,,,不错不错
tp8491374008月19日
学习了
tianjie22458908月18日
不错不错
后面还有10条评论,点击查看>>
普通分类: