在Rails 3.2应用程序中,我在application_controller.rb中定义了许多查询。查询返回的数据很少会发生变化。
查看日志,这些查询似乎在每次加载页面时运行。
如何缓存这些数组,以便更频繁地刷新它们,从而有助于增加页面加载时间。
由于
答案 0 :(得分:1)
使用像Memcached或Redis这样的东西?
答案 1 :(得分:0)
有几种方法。最简单的是,您可以跨请求在一些实例变量中缓存查询,如下所示:
@variable ||= Model.query
这将使他们免于被加载到每个请求上。但是,如果它是非常复杂的东西,你可以考虑把它扔进Redis(这对于像这样的东西很棒)。
通常你不想做这样的事情。如果你正在做这样的事情,你可能想重新考虑应用程序的架构。