многоуровневое кеширование с Ruby on Rails 3 - PullRequest
2 голосов
/ 04 мая 2011

Я искал этот вопрос во многих местах, но не нашел ответа. Согласно руководствам rails и подобным материалам о кэшировании, rails может использовать один из таких типов кэша: оперативная память, хранилище файлов, memcached, пользовательские классы кэширования и т. Д.

Но что, если я хочу использовать два или три типа кэша в одном приложении, в зависимости от кэшируемого объекта?

Например (высоконагруженный агрегатор новостей): у меня есть пара интерфейсных серверов rails, пара серверов с защищенным MongoDB и один сервер для memcached. Что делать, если я хочу сделать

  1. кэш-память в каждом узле на внешних интерфейсах для очень часто используемых крошечных коллекций (чтобы избежать задержек в сети при получении данных из memcached) для новостных разделов и данных поддержки

  2. memcached для самых читаемых последних новостей

  3. кэш хранилища файлов (может храниться в одном сетевом хранилище файлов, смонтированном для всех внешних интерфейсов) для архивных новостей (необходимо кэшировать, чтобы избежать частой обработки разметки, но он слишком велик для хранения в памяти)

1 Ответ

2 голосов
/ 11 мая 2011

AFAIK нет плагина кеша или механизма, который бы позволил вам выполнить точную настройку. Вы всегда можете написать свое собственное хранилище кэша, которое делегирует другим подсистемам в соответствии с тем, что кэшируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...