我正在使用 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 之间来回传递缓存变量?哎呀,缓存文件有什么样的扩展名和文件名?
非常感谢您能在这里为我指明健康的方向。
作为一个一般概念,caching并不意味着实施策略。普遍的想法是,将信息存储在比最初获取数据的位置更有效的访问位置。
所以在这种情况下,从磁盘获取数据比重新查询Twitter(一般是网络latency大于磁盘 IO 延迟)。
此外,从内存获取数据比从磁盘获取信息更有效(因为内存延迟小于磁盘 IO 延迟)。
话虽这么说,如果您愿意,您可以将 Twitter 中的值存储在内存中,或者如果您需要这些值在关闭后持续存在,则可以将其存储到磁盘上的文件中。如何操作取决于您(磁盘或内存、扩展、格式等)。这是你的缓存。
您必须小心的是缓存会变得陈旧。这是指缓存中的信息与原始数据源不同步。您必须为您的应用程序确定陈旧数据的可接受程度,并根据需要重新查询,替换缓存值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)