Вход Регистрация
ruen

Кэширование - создание, загрузка и сброс. Где хранить кэш, способы и виды кэширования

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

keshirovanie-sozdanie-zagruzka-i-sbros

Как сделать кэширование на сайте

Если используется готовая система (CMS или фремворк), тогда в ней обычно есть специальные средства для работы с кэшем. В случае же своей разработки, можно предусмотреть в системе специальное API для работы с кэшем. Это может быть отдельный класс или набор методов.

Что нужно кэшировать? Кэшированию подлежат сложные в вычислении участки кода. Например, это может быть формирование большого списка материалов. Конкретный пример – блок со списком последних статей на сайте, который достаточно создать один раз и обновлять только когда появились новые материалы на сайте.

Где хранить кэш? Места хранения кэша зависят от конкретных потребностей веб-приложения, выбор способа должен производиться в каждом конкретном случае индивидуально. Это может быть:

специальная таблица в базе данных;

специальное расширение для используемого языка программирования (например, Memcached для PHP);

хранение кэша в обычных файлах, что является наиболее простым способом.

Способы или виды кэширования могут быть следующие:

клиентское кэширование (кэширование разных файлов, протоколов, кэш центра сертификации, кэш страниц);

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

Создание кэша

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

add_cache('section_name', 'name', $data).

Загрузка из кэша

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

load_cache('section_name', 'name', $data).

Сброс кэша

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

clear_cache().

Также очистка кэша может выполняться не полностью, а частично, по секциям. Сброс кэша по секциям позволяет сбрасывать только необходимые участки кэшированных данных и не вызывает ненужных операций пересоздания кэша остальных данных, которые не были изменены. Это выполняется путем вызова в коде методов после конкретной операций. К примеру, выполнено добавление нового материала – значит нужно сбросить весь кэш, относящийся к секции "content":

clear_cache('section_name').

Комментарии (0)
Для комментирования войдите или зарегистрируйтесь.
Оставить заявку

Последние статьи

Популярные разделы

Eqsash (Инструменты)

Приложение для Android - VK LAST USER ID, отучитель от зависимости и т.д.:
Доступно в Google Play

Amessage (Общение)

Вход в веб-версию
Приложение для Android:
Доступно в Google Play

Поделиться

Подписаться

YouTube

Книги

IT-заметки - Простым языком о самом нужном (HTML, CSS, JavaScript, PHP, базы данных, Drupal, Битрикс, SEO, домены, безопасность и другое), PDF, 500 стр.