Rails 3.1 で Memcached プラグインを使用し、Heroku cedar スタックで dalli を使用してキャッシュ システムをセットアップしようとしています。
このために、私はユーティリティメソッドを使用しています:
def self.seconds_to_next_day
((DateTime.now.end_of_day - DateTime.now) * 24 * 60 * 60).to_i.seconds
end
そして、haml ビューで次のようにキャッシングします。
- cache "user_#{current_user.id}_my_groups", :expires_in => Utils.seconds_to_next_day do
= render "shared/my_groups"
しかし、本来あるべきように、毎日の終わりに期限切れになるわけではありません。また、秒数を整数として .seconds なしで渡そうとしましたが、違いはありませんでした。
今のところ、私は毎日 00:00 に実行され、日によって区別されるキャッシュ項目をクリアするスケジュールされたタスクに戻りましたが、ネイティブ キャッシュの有効期限を使用する方がはるかに好きです。
何か案は?ありがとう!