2016-10-10 2 views
0

мне нужно знать, есть ли способ использования Node.js (Express), олифа, Nginx на страницы кэша до тех пор, пока пользователь не модифицирован что-то ...Как кэшировать страницы, пока не будет изменено что-то

Моих пользователей создают страницы с как блог, и я хочу, чтобы кэш не изменял все страницы, но если пользователь снова вводит новый контент на странице и что-то меняет, обновите кеш ... Каков наилучший способ сделать это?

Спасибо!

ответ

2

Общей методикой для статических файлов является размещение хэша файла в имени файла. Затем при изменении содержимого ваш кэш CDN/webserver распознает это как новый файл, потому что URI изменился.

Для динамического контента, Nginx имеет proxy_cache_key директиву а. Таким образом, вы можете определить, что должно составлять хит кэша или пропустить, например:

proxy_cache_key "$host$request_uri $cookie_user"; 

Использования куки позволяет кэшировать динамические страницы без обслуживания контента, который был создан для другого пользователя. Или, как описано в directive documentation, можно кэшировать на основе аргументов URL:

proxy_cache_key "$uri$is_args$args"; 

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

+0

Но как я могу применить это к URL-адресу динамики? Вот так: www.mydomain.com/{idpost}/seo-name спасибо! – chemitaxis

+0

Я обновил ответ – timbo

+0

Хорошо, спасибо ... изображение пользователя сделать сообщение в блоге, я кэшировал, пока пользователь не изменил его ... Я сохранил дату, измененную для сообщения, но ... мой реальный вопрос: , как я могу решить, нужно ли мне снова вернуться в базу данных или получить из кеша. Еще раз спасибо!! – chemitaxis

Смежные вопросы