oocms
oocms » в действии » кэширование свойств На первую страницуОбратная связьКарта сайта
object-oriented content management system
oocms
о системе | преимущества | модули | примеры | в действии | заказать | контактная информация

Кэширование свойств

С момента своего появления система oocms активно использует кэширование для ускорения загрузки страниц и снижения нагрузки на веб-сервер.

Каждая страница, описанная в oocms, может состоять из десятков различных свойств, каждое из которых отвечает за определенный элемент страницы: заголовок, таблицу стилей, меню, текст статьи и т. д. Многие свойства часто содержат подпрограммы на PHP или вызовы других свойств, обработка которых происходит при каждом обращении к такому свойству, замедляя загрузку страницы.

Задача новой системы кэширования — сокращение времени обработки свойств и уменьшение числа обращений к кэшу.

Введем понятие вида свойства. Каждое свойство может быть одного из следующих видов:

  • динамическое,
  • статическое,
  • всегда динамическое,
  • всегда статическое.
Редактор свойств

Для динамических свойств в кэш заносится «исходный текст» свойства. К примеру, свойство „title“, которое выводит в заголовок браузера название сайта и название страницы из свойства „header“

Сайт такой-то — <?=getItem("header")?>
будет занесено в кэш «дословно», вместе с вызовом свойства „header“, которое происходит при каждом обращении к „title“.

Объявим теперь это свойство статическим, и тогда в кэш будет занесен результат обработки этого свойства. Для „title“ из предыдущего примера в кэш попадет такой текст: «Сайт такой-то — Название страницы», если свойство „header“ также является статическим. В этом случае свойство „header“ будет удалено из кэша, если к этому свойству не будет других обращений. Таким образом сокращается не только время обработки страницы, но и объем кэша.

Чтобы занести в кэш результат обработки свойства независимо от того, обращается ли оно только к статическим свойствам или нет, нужно сделать такое свойство всегда статическим. Другим полезным эффектом обладает всегда динамическое свойство: не только само такое свойство, но и все свойства, к которым оно обращается, заносятся в кэш в виде «исходного текста», даже если какие-то свойства объявлены статическими. Это может быть полезно для переопределения вида свойств при наследовании.

В действии

немного теории
первый сайт
взаимодействие свойств
наследование свойств
правила наследования
визуальный редактор
• кэширование свойств
свойства с параметрами
К началу страницы © Alexander Petrushev | 2oo4–2oo9 | Powered by oocms