【问题标题】:How to expire cache in Rails?如何在 Rails 中过期缓存?
【发布时间】:2016-02-28 05:56:26
【问题描述】:

我有一个以这种方式缓存的网页。

<% cache(params[:page]) do %>
  #Content
<% end %>

我现在怎样才能使缓存过期?

【问题讨论】:

  • 欢迎来到 Stack Overflow。询问时,告诉我们您尝试了什么非常重要。如果不这样做,我们会认为您没有尝试过,只是立即询问,看起来您希望我们为您编写代码。这在 SO 上不是很受欢迎的事情,并且很快导致投票和问题被关闭。请参阅“How to Ask”和meta.stackoverflow.com/questions/261592/… 了解预期。

标签: ruby-on-rails ruby ruby-on-rails-4 caching


【解决方案1】:
Rails.cache.delete(params[:page])

【讨论】:

    【解决方案2】:

    使用 ActiveSupport::Cache::Store,应该可以做到

    <% cache(key, :expires_in => 1.hour) do %>
       <!-- content -->
    <% end %>
    

    【讨论】:

      【解决方案3】:

      这称为片段缓存,根据documentation,您只需将这段代码放在您的控制器中即可使片段过期:

      ActionController::Base.new.expire_fragment(params[:page], options = nil)
      

      【讨论】:

        猜你喜欢
        • 2012-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-11
        • 1970-01-01
        • 2013-01-14
        • 2015-12-25
        相关资源
        最近更新 更多