14

Rails アプリケーションの最新の 5 つのニュース記事に対して、次の低レベル キャッシュを使用しています。

@recent_news = Rails.cache.fetch("recent_news", :expires_in => 1.hour) do
  News.order("created_at desc").limit(5)
end

新しいニュース記事が作成されるまで、このクエリをキャッシュしておく方法はありますか? オブザーバーを使用してキャッシュを手動で期限切れにすることを考えていましたが、実際にこれを行う方法があるかどうかはわかりませんでした。

class NewsObserver < ActiveRecord::Observer
  def after_create
    #expire recent_news cache
  end
end
4

1 に答える 1

22

.delete次のメソッドを使用して、手動でキャッシュを期限切れにすることができます。

Rails.cache.delete("recent_news")
于 2013-07-24T18:05:10.313 に答える