我正在使用 simpleXML 浏览 Twitter XML 文件的 XML 结果,但我完全不知道如何使用 PHP 缓存结果。 This article似乎有一些帮助,但我也遇到了 memcache(和 memcached。来吧,命名者。),但我不知道该怎么做。
我正在使用这个:
$sxml = simplexml_load_file(
'http://api.twitter.com/1/qworky/lists/qworkyteam/statuses.xml');
foreach($sxml->status as $status){
$name = $status->user->name;
$image = $status->user->profile_image_url;
$update = $status->text;
$url = "http://twitter.com/" . $status->user->screen_name;
}
将 Twitter 列表的 XML 数据简单地存储到可用变量中。但什么是正确的做法?创建一个缓存文件并仅在缓存文件早于十分钟时运行此 PHP block ,否则提供缓存的变量?如何在缓存文件和 DOM 之间来回传递缓存变量?哎呀,缓存文件有什么样的扩展名和文件名?
非常感谢您能以任何方式为我指明健康的方向。
最佳答案
作为一般概念,caching并不意味着实现策略。流行的想法是,将信息存储在某个地方,以便比最初从中获取数据的地方提供更有效的访问。
所以在这种情况下,从磁盘中获取数据比重新查询 Twitter 更高效(一般情况下,网络 latency 大于磁盘 IO 延迟)。
此外,从内存中获取数据比从磁盘中获取信息更有效(因为内存延迟小于磁盘 IO 延迟)。
也就是说,如果您愿意,您可以将来自 Twitter 的值存储在内存中,或者如果您需要这些值在关机后仍然存在,则可以存储到磁盘上的文件中。如何操作取决于您(磁盘或内存、扩展、格式等)。这是您的缓存。
您需要注意的是缓存越来越陈旧。这是当您缓存中的信息与原始数据源不同步时。您必须为您的应用程序确定陈旧数据的可接受程度,并根据需要重新查询,替换您的缓存值。
关于php - PHP 中的初学者数据缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279316/