【问题标题】:How to perform recaching using memcached?如何使用 memcached 执行重新缓存?
【发布时间】:2014-05-14 10:41:42
【问题描述】:

我正在使用 memcached 来缓存表记录。我的代码如下

Rails.cache.fetch('custom_profiles') do
 @custom_profiles=CustomProfile.where(:status=>"Active") 
end

但是,只要添加了新记录,它就不会更新。我想在表格被编辑时更新这个变量。如果您对此有任何想法,请与我分享。

【问题讨论】:

  • 你看过片段缓存指南吗? guides.rubyonrails.org/caching_with_rails.html#fragment-caching 你可以在你的控制器中使用expire_fragmentexpire_fragment 来使你的缓存片段过期expire_fragment
  • 除了create,您还必须考虑custom_profiles 何时是updated / deleted。我建议不要缓存对象,而是每个对象的视图表示的片段。请参阅来自 dhh 的 article
  • 我们可以让另一个控制器的缓存过期吗?
  • 是的,绝对是@pooja agarwal

标签: ruby ruby-on-rails-3 memcached


【解决方案1】:

你可以像这样从缓存中删除一个项目

Rails.cache.delete('custom_profiles')

您可能希望在某些回调或观察者中这样做

【讨论】:

  • 答案不尊重我的问题。这是我的评论问题的答案。所以我投了赞成票。
猜你喜欢
  • 1970-01-01
  • 2017-05-18
  • 2011-08-14
  • 2010-09-20
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
相关资源
最近更新 更多