
21.06.2002, 18:48
|
|
Регистрация: Dec 2001
Сообщений: 4,159
|
Любой форум имеет весьма специфическую операцию: выдачу треда. При этом нужно выбрать из базы несколько десятков ответов, отформатировать их, отфильтровать и т.п. На все это уходит весьма много времени.
В то же время для любого форума характерно то, что число обращений по чтению на порядки превышает число добавляемых постингов. Соответственно вполне логичной является мысль формировать HTML-код треда только при добавлении нового постинга.
Это можно делать либо сразу после постинга, либо по первому обращению к изменившемуся треду. Второе обычно проще.
В примитивном варианте схема такова:
1. В отдельном каталоге храним HTML-файлы тредов (один на каждую страницу треда).
2. При добавлении сообщения стираем все HTML-файлы этого треда.
3. При обращении к треду на чтение проверяем, существует ли запрошенная HTML-страница и либо сразу отдаем ее, либо формируем, сохраняет и отдаем.
Для удобства формирования таких псевдостатических страничем в PHP есть функции ob_*, в perl'е -- в зависимости от используемых модулей.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++
|