Яндекс.Метрика
Москва, Волгоградский пр-т,
43к3, оф. 301
Пишите 24/7, мы онлайн
+7 (495) 128-00-14
последнее обновление: 17.12.2025

Определение: Кеширование сервера — это когда сервер (или прокси/CDN перед ним) сохраняет заранее подготовленный результат и отдаёт его повторно без “тяжёлой” обработки каждый раз. Проще говоря: вместо того чтобы заново собирать страницу и делать запросы к базе, сервер возвращает сохранённую копию — быстрее и дешевле по ресурсам.

Зачем это нужно

  • Ускорить ответы сервера: страница формируется реже, а отдаётся быстрее.
  • Снизить нагрузку на базу данных и backend-логику, особенно на посещаемых страницах.
  • Повысить стабильность под нагрузкой (акции, распродажи, всплески трафика).
  • Уменьшить время ожидания пользователя до первого отображения контента.
  • Сделать сайт устойчивее: даже при “тормозящей” базе часть страниц может продолжать быстро открываться.
  • Подготовить проект к масштабированию: кеш проще расширять, чем бесконечно наращивать сервер.

Пример

Пример кода:

# Пример логики кеширования ответа на сервере (упрощённо)
# Ключ кеша зависит от URL и, при необходимости, от языка/региона/авторизации
if cache.has(key):
return cache.get(key)

response = render_page()
cache.set(key, response, ttl=300)
return response

Например, каталог товаров можно кешировать на 5 минут (TTL=300), а корзину и личный кабинет не кешировать вообще или кешировать очень точечно, потому что там персональные данные. Важно продумать “инвалидацию” — когда кеш нужно сбрасывать (например, при изменении цены/остатка).

Скриншот

Панель Network в DevTools: заголовки ответа с Cache-Control и признак попадания в серверный кеш (HIT/MISS) от прокси или CDN

Подпись к скриншоту: Chrome DevTools → Network → Headers: показать заголовки ответа, где видно, что отдача идёт из серверного кеша (например, отметка HIT/MISS у прокси/CDN) и как настроен Cache-Control.

Частые ошибки

  • Кешировать персонализированные страницы и случайно показывать контент одного пользователя другому.
  • Не продумать инвалидирование: данные обновились, а пользователи видят старую версию из кеша.
  • Делать слишком “общий” ключ кеша (не учитывать язык, город, валюту, авторизацию) и получать неверные версии страниц.
  • Кешировать всё подряд одинаково: для разных страниц нужны разные TTL и правила.
  • Путать серверное кеширование с кешированием браузера: первое снижает нагрузку на backend, второе ускоряет повторную загрузку у пользователя.

Связанные термины

Наши услуги