我需要缓存一个非常昂贵的操作的结果,该操作涉及扫描目录并获取其文件的内容。
解决问题的一个好方法是将结果缓存在 php 文件中。由于 php 文件加载速度非常快,我正在考虑将整个结果数组序列化为 php 有效的形式,写入磁盘并准备好包含在内。
我的问题是:是否有任何工具/库/框架可以在 php 代码中执行序列化任务以用于缓存目的?如果没有,实现这一目标的最佳实践是什么?
编辑:
感谢杰克var_export!
关于如何向symfony cc添加一些代码以触发此缓存的生成的任何想法?
我需要缓存一个非常昂贵的操作的结果,该操作涉及扫描目录并获取其文件的内容。
解决问题的一个好方法是将结果缓存在 php 文件中。由于 php 文件加载速度非常快,我正在考虑将整个结果数组序列化为 php 有效的形式,写入磁盘并准备好包含在内。
我的问题是:是否有任何工具/库/框架可以在 php 代码中执行序列化任务以用于缓存目的?如果没有,实现这一目标的最佳实践是什么?
编辑:
感谢杰克var_export!
关于如何向symfony cc添加一些代码以触发此缓存的生成的任何想法?
使用 symfony 的sfCache类。它可以存储和检索对象,并使用各种缓存后端(可以使用文件、数据库或 APC 作为后端)
用法很简单:(我使用APC 作为缓存存储,因为我的服务器上已经启用了 APC。如果要将数据存储在文件中,可以使用sfFileCache)
$cache = new sfAPCCache();
if ($cache->has('data')) {
return $cache->get('data');
} else {
$data = calcualte_data();
$cache->set('data',$data);
return $data;
}