缓存PHP输出

时间:2011-10-24 11:58:37

标签: php

我有一个名为api.php的文件,它使用参数加载,例如:

api.php名称= NAME&安培;格式= XML

将返回带有一些数据的xml页面,或

api.php?name = NAME& format = JSON将以json格式返回相同的数据。

使用以下代码生成xml页面:

function generate_valid_xml_from_array($array, $node_block='xboxapi', $node_name='game') {
    $xml = '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";

    $xml .= '<' . $node_block . '>' . "\n";
    $xml .= generate_xml_from_array($array, $node_name);
    $xml .= '</' . $node_block . '>' . "\n";

    return $xml;
}
$xml = generate_valid_xml_from_array($array);
header('Content-type: text/xml');
print $xml;

并使用以下命令返回json:

header('Content-type: application/json');
echo json_encode($data);

如何将返回的数据设置为缓存1小时,然后根据请求每小时更新一次?

我已经在这个问题上摸不着头脑了

2 个答案:

答案 0 :(得分:2)

您可以根据需要使用文件系统缓存。以下是描述创建简单缓存类的文章的链接:

http://devgrow.com/simple-cache-class/

另一种可能性是使用Zend Framework中的Zend Cache类,有关更多信息,请参阅Zend Framework手册中组件的介绍章节:

http://framework.zend.com/manual/en/zend.cache.introduction.html

如果你谷歌的'PHP缓存类',你将获得许多其他可以检查的可能性。

答案 1 :(得分:0)

您可以将其与有关创建时间的信息一起存储在文件或数据库中。如果有人查询,您可以检查过去的创建时间是否超过60分钟。如果没有返回你的缓存值,如果它太旧了重建你的值,保存它并在之后返回它。