максимальный возраст с nginx / пассажиром / memcached / rails2.3.5 - PullRequest
2 голосов
/ 18 сентября 2010

Я замечаю, что в моей производственной среде (где я реализовал memcached) я вижу элемент управления cache - max-age заголовок в firebug, каждый раз, когда я просматриваю страницу индекса (например, сообщения).

Cache-Control   max-age=315360000

В моей среде разработки этот заголовок выглядит следующим образом.

Cache-Contro private, max-age=0, must-revalidate

Насколько я знаю, я не сделал ничего особенного с моим файлом nginx.conf, чтобы указать максимальный возраст для обычного контента, я делаюу меня установлен expires-max для css, jpg и т. д. вот мой файл nginx.conf ..

http://pastie.org/1167080

Так почему же устанавливается этот контроль кэша?Как я могу контролировать этот контроль кэша, потому что побочный эффект этого довольно плох.Вот что происходит.

1 - Пользователь запрашивает список all_posts и получает список из 10 страниц (разбит на страницы)

2 - Страница просмотра пользователя 1, 2 3 и создаются соответствующие кэши.

3 - пользователь возвращается на страницу 1, и Firefox даже не отправляет запрос на сервер.Обычно я ожидал, что он запросит и попадет в кэш, созданный на шаге № 2.

Другая проблема заключается в том, что если новая запись была создана, а теперь кэш обновлен, и он должен быть вверху страницы 1, пользователь не увидит его .. потому что браузер не 't сервер.

Пожалуйста, помогите!

Спасибо

Обновление:

Я попытался установить expires_now в своем действии index.НИКАКОЙ разницы максимальный возраст по-прежнему такой же большой.

Может ли это быть проблемой с моим регулярным выражением максимального возраста?Я в основном хочу, чтобы он соответствовал только файлам активов (изображения, js, css и т. Д.)

1 Ответ

0 голосов
/ 20 сентября 2010

Я думаю, что вы правы, что это проблема с вашим регулярным выражением max-age.

Вы сопоставляете с этим шаблоном: ^.+.(jpg|jpeg|gif|png|css|js|swf)?([0-9]+)?$

Поскольку у вас есть вопросительные знаки («эта часть необязательна») после обоих разделенных в скобках разделов, единственная обязательная часть регулярного выражения -URI запроса должен содержать не менее двух символов (.+.).Другими словами, он совпадает практически с каждым запросом к вашему сайту.

Это шаблон, который мы используем: \.(js|css|jpg|jpeg|gif|png|swf)$

Это будет соответствовать только запросам путей, заканчивающихся точкой, а затем однимиз этих семи моделей.

...