需要为非Active Record对象定义哪些方法以支持Rails中的缓存版本控制(即可回收的缓存键)?只需定义cache_key
和cache_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)。
谢谢!