用于缓存目的的代码生成

时间:2013-01-22 16:22:50

标签: php caching serialization symfony1 symfony-1.4

我需要缓存一个非常昂贵的操作的结果,该操作涉及扫描目录并获取其文件的内容。

解决问题的一个好方法是将结果缓存到php文件中。由于php文件加载速度非常快,我正在考虑将整个结果数组序列化为一个php-valid表单,写入磁盘并准备包含。

我的问题是:是否有任何工具/库/框架在PHP代码中执行序列化任务以进行缓存? 如果没有,实现这一目标的最佳做法是什么?

编辑:

感谢Jack var_export

有关如何将某些代码添加到 symfony cc 以触发生成此缓存的任何想法?

1 个答案:

答案 0 :(得分:1)

使用symfony的sfCache课程。它可以存储和检索对象,并使用各种缓存后端(您可以使用文件,数据库或APC作为后端)

用法很简单:(我正在使用APC as cache storage,因为我的服务器上已启用了APC。如果要将数据存储在文件中,可以使用sfFileCache

$cache = new sfAPCCache();
if ($cache->has('data')) {
  return $cache->get('data');
} else {
  $data = calcualte_data();
  $cache->set('data',$data);
  return $data;
}