14

我正在为我的 Rails 应用程序中的五篇最新新闻文章使用以下低级缓存:

@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 回答