如果一个是片段缓存页面的一部分,该页面具有从控制器中的模型加载的内容。这些查询是否也应该被缓存?
这是否意味着将有两种类型的缓存:片段和活动支持两种不同类型数据的缓存?
例如。在我看来,我可以:
<% cache 'videos_and_photos', :expires_in => 24.hours do %>
<div id="videos">
<% @videos.each do |video| %>
...
<% end %>
</div>
<div id="photos">
<% @photos.each do |photo| %>
...
<% end %>
</div>
<% end %>
在控制器中:
Rails.cache.fetch('videos', :expires_in => 24.hours) do
@videos = Video.where(...)
end
Rails.cache.fetch('photos', :expires_in => 24.hours) do
@photos = Photo.where(...)
end
我对此的唯一看法是,如果一个缓存首先过期,那么数据将显示不一致。有没有更好的方法来解决这个问题?