2012-09-06 54 views
2

我想使用API​​在我的Wordpress網站上顯示產品信息,但該公司表示它將在每月發出1000次服務器請求後向我收費。可能存儲API數據?

是否可以存儲請求的數據,以便我可以重複使用而不通過配額? 會有什麼潛在的問題嗎?

回答

2

是的,他們實現這種限制的原因是鼓勵人們在他們的網站上緩存(存儲)數據。如果每個人在每次顯示頁面時都編寫自己的站點以通過API請求數據,它將很快壓倒API服務器。

緩存數據的方法有很多種,最簡單的方法是將所有API調用轉換爲每晚運行的cron作業,並將每個API請求的結果放在磁盤上的不同文件中 - 然後,可以更改您的網頁代碼來讀取此文件,而不是連接到API網址。 (你也可以使用filemtime()來檢查文件的年齡,如果超過一天就自動請求它,但是如果你的服務器很忙併且有多個請求進來時你會冒險超過你的限制,因爲文件到期會觸發多重api請求 - 所以cron作業是安全的路線)

緩存整個響應的缺點是每次顯示頁面時都必須解析它 - 但是如果您想要一個簡單的API調用的最簡單解決方案 - 那就是它。

正確的方法是解析cron作業中的響應,並以易於使用的方式將數據存儲在數據庫中。然後,您可以從數據庫中請求所需的數據 - 這將使您的整個站點運行得更快,並使用更少的內存。

+0

您的回覆非常有幫助。非常感謝! – user1650669

0

由於您正在開發一個Wordpress網站,我會強烈建議您研究和實施Transients API

它非常接近cron作業,並且會爲您提供更簡單的緩存解決方案,您可以通過Wordpress插件或主題進行管理。它的工作原理與Wordpress Options API相似,但設置的添加到期時間。