我正在使用simpleXML来浏览Twitter XML文件的XML结果,但我完全迷失了使用PHP缓存结果.这篇文章似乎有所帮助,但我也遇到了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块,否则提供缓存变量?如何在缓存文件和DOM之间来回传递缓存变量?哎呀,缓存文件有什么样的扩展名和文件名?
非常感谢,无论如何,你可以在这里向我指出一个健康的方向.
Joshua看看这篇关于简单PHP缓存的文章,你可以完全按照你所描述的那样相对轻松地做(并且是的,这可能是最明智的方法).
作为一般概念,缓存并不意味着实施策略.流行的想法是,您将信息存储在某个地方,为您提供比从最初获取数据更有效的访问权限.
因此,在这种情况下,从磁盘获取数据比重新查询Twitter更有效(通常,网络延迟大于磁盘IO延迟).
此外,从内存中获取数据比从磁盘获取信息更有效(因为内存延迟小于磁盘IO延迟).
话虽如此,如果您需要,您可以将Twitter中的值存储在内存中,或者存储在磁盘上的文件中,如果您需要超出持续时间的值,则关闭.你是怎么做的取决于你(磁盘或内存,扩展,格式等).这是你的缓存.
你必须要小心的是缓存越来越陈旧.这是当您在缓存中的信息与原始数据源不同步时.您必须为应用程序确定可接受的陈旧数据的位置,并根据需要重新查询,以替换缓存值.