我有一個嚴重依賴日期的應用程序。根據當前日期設置這些日期需要進行適度昂貴的計算。就每個請求而言,這些日期是常量 - 它們一旦創建就不會改變 - 但它們在整個一週內都會改變。日期在控制器和模型中都使用。在rails中,在哪裏放置一個基於當前日期變化的常量(變量?)?
我的問題是這樣的:
- 如果日期沒有每一天的變化,我能/設置它們的配置初始化。但是,當服務器重新啓動
- ,如果我使用的before_filter設置在ApplicationController中的日期初始化,只能判斷,日期是不提供給我的模型
任何想法?我看着這一切都錯了嗎?謝謝。
這是在正確的軌道上。您需要將日期設置爲緩存鍵的一部分,以便在日期更改時自動緩存未命中。例如:https://gist.github.com/6c381274d6ad7a78b0d0- 在這種情況下,如果存在,則獲取將返回「some_cache_key _#{Date.today}」。如果它還不存在,那麼它會調用my_expensive_operation,然後將該方法的結果保存到「some_cache_key _#{Date.today}下的緩存中」 – semanticart 2010-10-03 21:36:55
我最終使用了klew和Amadan的答案組合...所以現在我只需要每天生成一次日期。非常感謝大家,這是一個巨大的幫助。 – rxb 2010-10-04 02:37:54