0

在 Rails 3.2 应用程序中,我在 application_controller.rb 中定义了许多查询。查询返回的数据将很少更改。

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

如何缓存这些数组,以减少刷新频率,有助于增加页面加载时间。

谢谢

4

2 回答 2

1

通过使用 Memcached 或 Redis 之类的东西?

于 2012-06-10T11:25:37.080 回答
0

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

@variable ||= Model.query

这将使它们免于在每个请求上加载。但是,如果它是非常复杂的东西,您可能会考虑将其放入 Redis 中(这对于这样的事情非常有用)。

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

于 2012-06-11T00:09:11.440 回答