如何跨页面加载缓存查询?

时间:2012-06-10 11:22:38

标签: ruby-on-rails

在Rails 3.2应用程序中,我在application_controller.rb中定义了许多查询。查询返回的数据很少会发生变化。

查看日志,这些查询似乎在每次加载页面时运行。

如何缓存这些数组,以便更频繁地刷新它们,从而有助于增加页面加载时间。

由于

2 个答案:

答案 0 :(得分:1)

使用像Memcached或Redis这样的东西?

答案 1 :(得分:0)

有几种方法。最简单的是,您可以跨请求在一些实例变量中缓存查询,如下所示:

@variable ||= Model.query

这将使他们免于被加载到每个请求上。但是,如果它是非常复杂的东西,你可以考虑把它扔进Redis(这对于像这样的东西很棒)。

通常你不想做这样的事情。如果你正在做这样的事情,你可能想重新考虑应用程序的架构。