Как кэшировать запросы в направляющих через несколько запросов

Я хочу кэшировать результаты запроса так, чтобы те же результаты были выбраны "больше чем для одного запроса", пока я не делаю недействительным кэш. Например, я хочу представить боковую панель, которая имеет все страницы книги, во многом как индекс книги. Поскольку я хочу показать его на каждой странице книги, я должен загрузить его по каждому запросу. Я могу кэшировать представленный индекс боковой панели с помощью кэширования действия, но я также хочу, на самом деле кэшируют результаты запроса, которые используются для генерации HTML для боковой панели. Направляющие позволяют делать это? Как я могу сделать это?

5
задан umar 12 April 2010 в 15:08
поделиться

2 ответа

Вы можете кэшировать результаты запроса, используя хранилище кешей ActiveSupport , который может поддерживаться хранилищем памяти, таким как memcached, или хранилищем базы данных, если вы предоставляете свою собственную реализацию. Обратите внимание, что вы захотите использовать хранилище базы данных, если кеш совместно используется несколькими процессами Ruby, что будет иметь место, если вы развертываете кластер Mongrel или Phusion Passenger.

3
ответ дан 15 December 2019 в 06:21
поделиться

Вы также можете проверить свой кэш действий перед запросом базы данных в контроллере.

0
ответ дан 15 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: