2012-06-10 3 views
0

В приложении Rails 3.2 у меня есть ряд запросов, определенных в application_controller.rb. Данные, возвращаемые запросом, будут меняться очень редко.Как кэшировать запросы при загрузке страниц?

Рассматривая журналы, эти запросы отображаются на каждой загрузке страницы.

Как я могу кэшировать эти массивы, чтобы они обновлялись реже, что помогло увеличить время загрузки страницы.

Благодаря

+0

Начать здесь: http://guides.rubyonrails.org/caching_with_rails.html –

ответ

0

Существует несколько способов. Проще всего, вы можете кэшировать запросы в некоторых переменных экземпляра по запросам, с чем-то вроде этого:

@variable ||= Model.query 

Это избавит их от загружаемой на каждом запросе. Однако, если это что-то очень сложное, вы можете подумать о том, чтобы бросить его в Redis (что отлично подходит для таких вещей).

Обычно вы не хотели бы делать что-то подобное. Возможно, вам захочется пересмотреть архитектуру приложения, если вы так много делаете.

Смежные вопросы