我在 mongoid 中有三张表。 resource、item、photo 其中 resource 是主表,item 和 photo 都是 resource 的子表。
在 resource.rb 中加入了
default_scope order_by(:updated_at.desc).includes(:photos)
之后,取出 resource 之后,photo 的取出就不会再占用时间了。
我在 item.rb 中加入了
scope :latest, where(:latest => true).limit(2)
之后,应该怎么缓存这部分数据呢? 我希望取出一批 resource 之后,就不要再逐条的去读取 items 了。
尝试了这样的代码:
default_scope order_by(:updated_at.desc).includes(:photos) do
items.latest.cache
end
但是每次读取 20 条 resource,每个 resource 两个 photo,两个 item 的情况下依然要用 3 秒钟。 有什么办法可以处理一下吗?