在我正在開發的一個項目中,我向控制器中的外部API請求數據,然後將其顯示在視圖中。最近我開始遇到由於過度調用API而導致的速率限制引發的異常。爲了解決這個問題,我假設我需要實現某種緩存系統。我一直在閱讀頁面緩存在rails中,它似乎並沒有解決我的問題,因爲我不使用我自己的數據庫中的模型。所以,我想知道是否有一種簡單的方法來定時緩存頁面,這樣可以經常通過API請求新數據。Rails中的計時頁面緩存
希望這是有道理的 - 我對Ruby on Rails相當新,並且從未使用過任何類型的緩存系統。
在我正在開發的一個項目中,我向控制器中的外部API請求數據,然後將其顯示在視圖中。最近我開始遇到由於過度調用API而導致的速率限制引發的異常。爲了解決這個問題,我假設我需要實現某種緩存系統。我一直在閱讀頁面緩存在rails中,它似乎並沒有解決我的問題,因爲我不使用我自己的數據庫中的模型。所以,我想知道是否有一種簡單的方法來定時緩存頁面,這樣可以經常通過API請求新數據。Rails中的計時頁面緩存
希望這是有道理的 - 我對Ruby on Rails相當新,並且從未使用過任何類型的緩存系統。
Memcached具有您所談論的基於時間的過期時間,對於緩存大多數常見對象(包括頁面)來說,它非常出色,我相信。
安裝起來非常簡單,Rails已準備好將其與memcached的單行配置結合使用。
下面的截屏是非常有益的學習memcached的:
http://railslab.newrelic.com/2009/02/19/episode-8-memcached
其實,我建議全系列,因爲它是相當有用的。
這裏的memcached的網站:
如果你更多的是手動型,你總是可以創建運行一次,每隔幾分鐘,並生成新文件cron作業。
希望這會有所幫助!
這似乎沒有內置的機制。雖然你可以嘗試this user's solution。
如果您想要基於時間緩存,您可以使用etag
。看看它在docs
謝謝 - 這似乎是我正在尋找 – mportiz08 2010-02-19 07:38:35