我正在为我的 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