我们使用 memcached 作为我们的主要缓存存储,它工作得很好。但是我们必须决定使用它并决定到期。当查询昂贵或频繁时,它们是缓存的良好候选者。
但是缓存需要很少的开销:
Rails.cache.fetch 'some-key', expires_in: some-time do
some-query-result
end
这种缓存方式有一些缺点——这不是你可以随便做的事情(正如我们团队中的一些人最近学到的艰难方法)。如果您缓存“所有内容”或不设置合理的过期时间(或者更糟糕的是,不要选择唯一的缓存键),事情很快就会变得一团糟。他们做到了;所以我们退缩了。在我们重构得更彻底之前,我们希望尽可能多地从 ActiveRecord SQL 缓存中受益。
ActiveRecord SQL 缓存是“免费的”,即使不是最佳的。我找不到在哪里(或者即使)配置了多少内存使用。
如何指定 ActiveRecord SQL 缓存使用的内存量?
(Rails 3.2,很快迁移到 4.0,Ruby 1.9.3)