【问题标题】:rails3 caching: expire_action with parameters cached by caches_action(GET)rails3 缓存:expire_action,参数由 caches_action(GET) 缓存
【发布时间】:2012-08-15 05:38:35
【问题描述】:

我正在开发一种搜索功能,在输入内容时进行 ajax 调用以获取结果。我想在 memory_cache 中使用搜索关键字缓存搜索操作,所以我这样做:

# caches_action with GET parameters

caches_action :search_posts, :cache_path => Proc.new { |c| c.params }

我的问题是如何使带有参数的操作也过期?还有其他方法可以使我的功能正常工作吗?

【问题讨论】:

  • Rails.clear 工作,但不合适...

标签: ruby-on-rails-3 action-caching


【解决方案1】:

您有多种选择可以使这种缓存失效。

第一个(更简单的一个)是将 :expires_in 选项添加到您的 caches_action 语句 - 例如:

caches_action :search_posts, :cache_path => Proc.new { |c| c.params }, :expires_in => 16.hours.to_i

这将在一段时间后自动使此密钥过期。

或者您可以使用控制器中的 expire_action 方法使此缓存过期。应该是这样的:

expire_action :action => 'posts', :q => 'query'

假设您已使用一个参数 q=query 请求此页面。

您可以阅读更多in the official documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多