2010-08-09 41 views
0

在查看来自Mongrel的日志的过程中,我发现了一些我想优化的SQL语句。虽然寻找到这些,我注意到,这些条目有时在他们面前的CACHE,例如:Mongrel CACHE日志条目,特别是SQL语句的CACHE条目

CACHE (0.0ms) SELECT * FROM `customers` WHERE (`customers`.`id` = 35) 

由于执行时间,我假设杂种真的是缓存此数据。我的问题是如何配置?我一直无法在网上找到关于缓存模型数据的信息;我读过的大部分内容都与缓存静态页面或页面片段有关。我没有明确地做任何事情来启用这个缓存,所以我只是在寻找一个关于如何配置以及如何工作的指针。提前致谢!

回答

1

这实际上并不涉及杂种。 Rails默认在每个控制器动作周围执行ActiveRecord::Base.cache。这意味着在该操作的范围内,它将缓存查询结果并从缓存中提供结果,而不是再次访问数据库。您应该在日志中看到一个相同的查询(在同一个操作中),而不是以CACHE作为前缀,后者是存储结果的原始查询。

一些更多详情here

+0

这正是我所期待的。谢谢! – 2010-08-10 00:10:28