Heroku: эффективное кэширование изображений, стилей и Javascripts - PullRequest
4 голосов
/ 13 июля 2011

Насколько я знаю, Rails3 может "оптимизировать" кэширование изображений, javascripts и документов стиля, добавляя строку "? ID" в конце имени файла, например в: /stylesheets / normalize.css? 1310531409.

Однако, если я использую firebug для проверки загрузки моей страницы, вот что появляется: GET normalize.css

Я использую RoR3 на Heroku, работая надКедровый стек.

Как я могу манипулировать временем истечения отправляемых изображений / таблиц стилей / javacripts?В настоящее время они, кажется, истекают в момент их отправки, что является своего рода бессмысленным.Я сталкиваюсь с трудностями при выполнении этого на Heroku, работая на Cedar Stack.

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Я рекомендую вам использовать Jammit , более конкретно, jammit-s3 gem.Это позволит вам перенести все ваши активы на s3, а связанный гем имеет настройку управления кешем s3.При использовании в сочетании с конфигурацией asset_host для rails у вас может быть assets.yourdomain.com поддомен , который может помочь увеличить время загрузки страницы и уменьшить размер вашего слага.

2 голосов
/ 13 июля 2011

Добавляет рельсы ID ресурса не для принудительного кеширования, а для уничтожения кеша. Числа (по умолчанию) - это дата последнего изменения файла. Если вы обновите файл, номера изменятся, и браузеры получат новую версию. Это не значит, что если число совпадает, браузер все равно не попытается его получить.

Установка времени истечения больше в домене сервера (предположительно apache или nginx). Вы можете настроить их так, чтобы они имели разные настройки управления кэшем - быстрый поиск в любом из них даст вам множество советов, как это сделать.

...