如何为非活动记录对象支持Rails可回收缓存键

时间:2019-06-28 19:45:44

标签: ruby-on-rails

需要为非Active Record对象定义哪些方法以支持Rails中的缓存版本控制(即可回收的缓存键)?只需定义cache_keycache_version,还是也需要定义cache_key_with_version

例如,这够吗?

class Car
  def cache_key
    "cars/someid"
  end

  def cache_version
    "sometimestamp"
  end
end

然后在某些视图中:

<% cache @car do %>
  ...
<% end %>

还是还需要定义cache_key_with_version

class Car
  def cache_key_with_version
    "#{cache_key}-#{cache_version}"
  end
end

我在Rails代码库中挖掘了大约一个小时,但是答案仍然不清楚。我无法通过反复试验进行测试,因为我不确定如何确认缓存键是否真正被回收(我正在使用memcached)。

谢谢!

0 个答案:

没有答案