簡體   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