Лучший способ создать статическую версию «динамического» веб-сайта - PullRequest
4 голосов
/ 09 апреля 2009

У меня есть веб-сайт, который динамичен в том смысле, что из базы данных генерируется много данных, но содержимое базы данных изменяется редко (примерно 1-3 раза в неделю). Эти изменения являются ручными и контролируемыми.

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

локон / Wget / паук

Этот вопрос упоминает об этом. Недостатки, которые я вижу, могут быть:

  • необходима ручная очистка (ссылки, отсутствующие изображения и т. Д.)
  • не может смешивать статические и динамические страницы

1020 прокси * *

Я мог бы использовать прокси для кэширования статических страниц в течение определенного количества дней. Недостатки:

  • сложно управлять кешем каждой страницы
  • нужно очищать кеш после каждого изменения вручную?

Использование программы для генерации статических страниц

Мой текущий выбор: я использую Perl-программы для генерации статических страниц из динамического контента. Это не очень хорошо масштабируется, так как мне приходится много кодировать HTML, особенно структуру страницы

Есть ли другие способы сделать это? Что бы вы / вы предпочли?

Ответы [ 4 ]

4 голосов
/ 09 апреля 2009

Кэш полностраничной базы Memcache с длительным сроком действия. Расширение тега может позволить вам сделать недействительным только выбранный диапазон страниц.

2 голосов
/ 09 апреля 2009

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

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

1 голос
/ 09 апреля 2009

Я бы сделал это так же, как вы делаете это прямо сейчас, используя скрипт для генерации статических страниц. Вы можете использовать систему шаблонов, чтобы избежать необходимости каждый раз писать новый HTML.

0 голосов
/ 09 апреля 2009

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

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

...