Лучший способ создать статическую версию "динамического" веб-сайта
У меня есть веб-сайт, который динамичен в том смысле, что из базы данных генерируется много данных, но содержимое базы данных изменяется редко (примерно 1-3 раза в неделю). Эти изменения являются ручными и контролируемыми.
Вместо того, чтобы загружать динамический сайт, я предпочитаю использовать статические страницы. Я обсуждаю, какое решение лучше:
локон / Wget / паук
Этот вопрос упоминает это. Недостатки, которые я вижу, могут быть:
- необходима ручная очистка (ссылки, отсутствующие изображения и т. д.)
- не может смешивать статические и динамические страницы
полномочие
Я мог бы использовать прокси для кэширования статических страниц в течение определенного количества дней. Недостатки:
- сложно управлять кешем каждой страницы
- нужно очищать кеш после каждого изменения вручную?
Используйте программу для генерации статических страниц
Мой текущий выбор: я использую Perl-программы для генерации статических страниц из динамического контента. Это не очень хорошо масштабируется, так как мне приходится много кодировать HTML, особенно структуру страницы
Есть ли другие способы сделать это? Что бы вы / вы предпочитаете?
4 ответа
Memcache базовый полностраничный кеш с длительным сроком действия. Расширение тега может позволить вам сделать недействительным только выбранный диапазон страниц.
Есть ли какая-то конкретная причина, по которой вы хотите сделать это таким образом, вместо того, чтобы просто настроить решение для кэширования базы данных, чтобы запретить запросам фактически попадать в базу?
Возможно это или нет, зависит от количества динамических данных, которые есть на вашем сайте, и от объема памяти, доступной на вашем сервере, но у него не возникнет проблем, о которых вы беспокоитесь.
Я бы сделал это так же, как вы делаете это сейчас, используя скрипт для генерации статических страниц. Вы можете использовать систему шаблонов, чтобы избежать необходимости каждый раз писать новый HTML.
Вы не упомянули, насколько важно как можно скорее показать измененные данные вашему пользователю.
Мы успешно использовали кеш прокси для нашего сайта, чтобы обрабатывать динамические страницы, которые получают много просмотров. В зависимости от того, как скоро мы хотим, чтобы обновленные данные были видны клиенту, мы сохранили разный срок хранения кеша для каждой категории.