Новости Joomla на русском
Главная Новости Форум Статьи и обзоры Вопросы и Ответы
Joomla! по-русски

Вышла Joomla 3.1.4! Исправлено 247 различных недочетов. Разработчики настоятельно рекомендуют обновиться до Joomla 3.1.4. Обновленный пакет локализации уже доступен для загрузки.

 
Вторник, 24 Сентябрь 2013 Главная arrow Статьи и обзоры arrow Оптимальное время жизни кэша
Категории
Статьи
Обзоры
Модификации и хаки
Для разработчиков
Joomla!® CMS
  • Что такое Joomla!
  • Описание возможностей
  • Системные требования
  • Скриншоты
  • Русские сборки Joomla!
  • Где скачать Joomla ?
  • Шаблоны Joomla
  • Каталог расширений
  • Документация
  • Поддержать
Russian Joomla Translation Team
Безопасность
  • Исправление уязвимости в Joomla 1.5
  • Уязвимость в компоненте Alpha User Points
  • Уязвимость в компоненте AlphaUserPoints
  • Simple Machines Forum 1.1.10 и 2.0 RC1-2
Популярные статьи
  • Где можно скачать шаблоны для Joomla!
  • Как установить шаблон в Joomla
  • Перенос сайта с localhost на сервер
  • Позиции модулей в шаблонах Joomla
  • Как восстановить пароль суперадминистратора

Замечание

Joomla!® является торговой маркой компании Open Source Matters inc в США и др. странах. Название Joomla! и его вариации, такие как J, Joom и т.д., используются в рамках ограниченной лицензии, определённой компанией Open Source Matters. Проект Joomlaportal не относится к компании Open Source Matters или проекту Joomla! Точки зрения представленные на данном сайте не являются официальными точками зрения Joomla Project или Open Source Matters.

Торговая марка Joomla® и логотип используются в рамках ограниченной лицензии, предоставленной Open Source Matters.

Оптимальное время жизни кэша

26.07.2006 | smartСтатьи и обзоры / Статьи

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

Принцип работы механизма кэширования

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

При последующих обращениях, менеджер кэша Joomla проверяет, существует ли в кэше объект с заданными параметрами (в том числе названием, содержимым, датой создания, модификации т.д.), если нет — значит материал изменялся или же, просто еще ни разу не кэшировался. Если для запрашиваемого объекта отсутствуют данные в кэше, то перед отображением объекта пользователю эти данные будут помещены в кэш. А если закэшированные данные есть, то вот в этом случае происходит проверка времени кэширования: если дата и время создания кэша отличаются от текущего на интервал больший, чем время жизни кэша, установленное в параметрах конфигурации, то объект будет закэширован заново.

Преимущества длительного кэширования

По умолчанию, время жизни кэша равно 900 секунд или 15 минут. Это означает, что, даже при отсутствии изменений на сайте, каждые 15 минут кэш будет пересоздаваться, а значит будут выполняться и лишние запросы к базе данных. Увеличение времени жизни кэша позволяет менеджеру кэша дольше использовать закэшированные данные, тем самым еще больше снижая общее количество запросов к базе данных.

На мой взгляд, оптимальным временем жизни кэша является интервал обновления сайта: если вы добавляете новости не чаще, чем раз в сутки, а на добавление новостей, допустим, у вас уходит 1 час, то время жизни кэша можно смело ставить 82800 секунд (23 часа).

Недостатки длительного кэширования

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

Так как при любом изменении объекта (материала, модуля и т.д.) происходит перегенерация кэша этого объекта, то независимо от времени жизни кэша, измененная статья или модуль будут отображены верно, а вот различные модули, например выводящие списки новых материалов при включенном кэшировании могут немного «врать», поскольку кэш модулей сбрасывается только при измении параметров публикации модуля или по истечению времени жизни кэша. Поэтому для сайтов использующих модули, выводящих часто обновляемую информацию (newsflash, displaynews и т.д.) время жизни кэша лучше устанавливать примерно 80-90% от среднестатистического времени добавления новостей или же вообще отключать кэширование в этих модулях.

Общие выводы

Итак, кэширование позвляет снизить нагрузку на сервер базы данных и благоприятно сказывается на скорости загрузки сайта. При выборе времени жизни кэша основным фактором является периодичность обновления материалов на сайте. При этом необходимо помнить, что включение механизма кэширования в глобальных настройках сайта приведет к кэшированию материалов сайта, а для кэширования модулей сайта необходимо зайти в редактирование параметров этих модулей и выставить параметру Enable cache значение «Да».

 
< Пред.   След. >
Загрузить Joomla!® CMS

Joomla 3.1

Joomla 3.1.5

Локализация Joomla 3

Пакет русской локализации Joomla 3

Joomla 2.5

Joomla 2.5.14

Joomla 2.5 Russian
(русифицированная версия)

Локализация Joomla 2.5

Пакет русской локализации Joomla 2.5

Joomla 1.5

Joomla 1.5.26

Joomla 1.5.26 Russian
(русифицированная версия)

Локализация Joomla 1.5

Русский язык для лицевой панели (site)
Русский язык для административной панели (admin)

Как обновить Joomla 1.0
до версии Joomla 1.5?

Документация

Joomla 2.5 FAQ
Joomla 1.5 FAQ
Joomla 1.0 FAQ


Русская версия Joomla

Joomla 2.5 Russian
Joomla 1.5 Russian