我在用django構建一個網站,用戶可以在一系列照片服務之間移動內容。正如你可以想象的應用程序做了很多API點擊。使用外部API的時候加快頁面加載速度
例如:用戶將picasa,flickr,photobucket和facebook連接到他們的帳戶。現在我們需要從4個不同的apis中提取內容,以保持用戶數據的最新狀態。
現在我有一個函數,更新每個api,我通過線程同時運行它們。 (所有未啓用的api在第二行都會返回false,不會有太多開銷來運行它們)。
這裏是我的問題:
什麼是最好的策略保持內容使用這些API的日期?
我有兩個想法,可能的工作:
更新的API定期(如cron作業),也不論我們當時是用戶得到什麼。
好處:
- 它很容易和簡單的實現。
- 當用戶加載第一頁時,我們總是會有非常好的數據。
陷阱:
- 我們要做的API打所有的時間是不活躍的,浪費了大量的帶寬
- 這將可能使API提供商不高興 用戶
觸發更新時在用戶登錄(在PAG電子負載)
益:
- 我們節省了一堆的帶寬和運行得罪了該API提供商
- 不需要我們的服務器上的資源幾乎量的風險較小
陷阱:
- 我們必須異步執行更新(並且在首次登錄時不會有 任何內容)或...
- 第一頁會需要很長的時間來加載,因爲我們 讓所有的API數據(我測量26秒這樣)
編輯:在設計非常輕巧,設計只有兩個圖像,一個外部CSS文件和兩個外部JavaScript文件。
此外,26秒數來自一臺機器是在同一個局域網上的服務器