Учитывая, что Heroku Cedar не имеет http-кеширования, предоставляемого Varnish, я бы хотел использовать Стойка :: Кэш
.
Мне сказали, что в рельсах 3.1.1 по умолчанию активен Rack :: Cache
, мне просто нужно убедиться, что в конфигурации указано:
config.action_controller.perform_caching = true
, и мне нужно выбрать хранилище кеша, для этого эксперимента я использую:
config.cache_store = :memory_store
В действии страницы, которую я хочу кэшировать, я добавил следующие строки:
response.header['Cache-Control'] = 'public, max-age=300'
response.header['Expires'] = CGI.rfc1123_date(Time.now + 300)
Этот код использовался для нормальной работы с Varnish, первый запрос возвращал 200 и последующие (в течение 5 минут) вернут 304
.
Этого не происходит с Rails 3.1 и Heroku Cedar Stack. Я получаю эти заголовки в ответе, но последующие запросы возвращают 200 вместо 304.
Что я делаю не так? Спасибо.