繁体   English   中英

如何缓存RSS feed数据以显示在网站上?

[英]How to cache RSS feed data to display on website?

我正在开发一个网站,它将显示RSS提要中的最新项目。 但是,每次用户访问该网站时,我都希望该页面显示缓存的数据。 自从我计划缓存50个以上的RSS feed以来,这将使页面显示更快。

我的问题是,如何缓存RSS提要,但要确保它每4个小时左右在后台更新一次?

提前致谢。

创建一个缓存文件夹以存储所有RSS源。

加载页面后,请检查文件是否存在,是否不下载并进行处理。

如果该文件存在并且filemtime($cached_file) + (60 * 60 * 4)的结果大于time() ,则意味着它距离提取RSS feed的时间不到4小时。 正常显示页面。 如果不是这种情况,请重新下载文件并显示。

有许多关于在PHP中解析RSS feed的教程。 我更喜欢使用PHP的DOM扩展,但是有很多不同的方法可以使用它。

我创建了一个简单的PHP类来解决此问题。 由于我要处理各种来源,因此它可以处理您抛出的任何内容(xml,json等)。 您给它一个本地文件名(用于存储),外部提要和到期时间。 首先检查本地文件。 如果存在并且尚未过期,则返回内容。 如果已过期,它将尝试获取远程文件。 如果远程文件有问题,它将回退到缓存的文件。

此处的博客文章: http : //weedygarden.net/2012/04/simple-feed-caching-with-php/

代码在这里: https : //github.com/erunyon/FeedCache

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM