cbe*_*aut 3 ruby-on-rails query-cache ruby-on-rails-3
在我的开发环境中,我有一个单一的请求,该请求会生成数百个相同的查询:
Person Load (24.4ms) SELECT "persons".* FROM "persons" WHERE ("persons"."person_id" = 517) LIMIT 1
. . .
Person Load (64.4ms) SELECT "persons".* FROM "persons" WHERE ("persons"."person_id" = 517) LIMIT 1
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我以为Rails应该在每个请求的默认情况下启用查询缓存?
config/development.rb:
config.cache_classes = false
config.perform_caching = true
. . .
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_view.debug_rjs = true
config.action_controller.perform_caching = true
config.active_support.deprecation = :log
Run Code Online (Sandbox Code Playgroud)
如果要连接到多个数据库(例如,在某些模型中使用prepare_connection),则似乎只有ActiveRecord :: Base.connection启用了查询缓存。不确定这里是否是这种情况,但是肯定连接到多个DB会有棘手的副作用。
| 归档时间: |
|
| 查看次数: |
1232 次 |
| 最近记录: |