TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.5K subscribers
Post #2869 5.45K
💾 КЭШ — что важно знать системным аналитикам 💾

Кэш (cache) — быстрый временный слой хранения результатов вычислений или запросов API (и не только), чтобы при повторном обращении к серверу вернуть ответ не выполняя вычисления и логику запроса заново.


👉 Что хранит:
Уже вычисленные данные и/или их части:
JSON ответа, HTML-код, агрегаты, объекты


👉 Что кэшировать:
▫️Карточки сущностей, справочники - медленно меняющиеся сущности
▫️Списки с параметрами фильтров/пагинации
▫️Агрегаты/отчёты: дорогие запросы
▫️HTTP-404 на короткое время

👉 НЕ кэшировать:
▫️Ответы на изменяющие методы (POST/PUT/PATCH/DELETE)
▫️Секретные/чувствительные данные (no-store)

👉 Где хранится:
Для Frontend:
+ в памяти мобилок или десктопов
+ в памяти браузера
+ иногда в локальных БД

Для Backend:
+ CDN/прокси
+ Специализированные СУБД: Redis / Memcached
+ иногда в самой БД - готовые JSON, чтобы не вычислять


👉 Как искать нужные данные:
По ключу кэша - обычно это хеш нормализованного запроса/параметров


👉 Поведение алгоритмов при работе с кэшем:

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

❌ Cache Miss:
Если кэш не найден или данные в кэше устаревшие, то приложение:
+ должно обратиться к источнику за данными (БД или вн. система)
+ формирует ответ (JSON или др)
+ пишет актуальные данные в кэш

🔖 Общий порядок работы на картинках к посту


👉 Политики вытеснения кэша (автоочистка)
▫️ LRU (Least Recently Used) — удаляем те ключи, к которым давно не обращались
▫️ LFU (Least Frequently Used) — удаляем ключи с наименьшим числом обращений
▫️ TTL (Time To Live) — запись жива фиксированное время, потом протухает
▫️ Size-based — выселение по суммарному объёму (байты), часто вместе с LRU/LFU


👉 Заголовки в REST API (Headers)

В запросах:
Cache-Control
If-None-Match
If-Modified-Since
If-Match
If-Unmodified-Since
Only-If-Cached
Pragma (устар.)

В ответах:
Cache-Control
ETag
Last-Modified
Vary
Expires
Age
Date
Cache-Status
Surrogate-Control


#RestApiGA #АрхитектураGA
  • 🔥 39
  • ❤ 15
  • 👍 4
  • 🥰 2
  • ❤‍🔥 1
More from @getanalysts
  1. Oct 3, 2026🎁🚀 GetAnalyst сегодня на Стачке: ищите Юлию и забирайте подарки Похоже, у GetAnalyst офи…
  2. Oct 2, 2026📌 [Доступ открыт до 6 октября] Асинхронная интеграция с ИИ-сервисом 📌 Один сквозной кейс…
  3. Oct 1, 2026🎓 Системный аналитик: с нуля до опыта работы на проекте [начинаем сегодня] 🎓 Сегодня, 1…
  4. Oct 1, 2026💫😱 IT никогда не станет прежним. Из-за AI. Несколько главных мыслей с The AI Conference…
  5. Sep 30, 2026🐞 HTTP-ошибки в интеграциях с внешними системами: как их обрабатывать 🐞 Что делать, если…
  6. Sep 29, 2026🔖 5 архитектурных стилей API, которые важно знать аналитику 📡 API определяет, как именно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →