TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.82K subscribers
Post #3060 1.92K
Реализация кэширования на бэкенде
(продолжение предыдущего поста)

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

✓ Почему кэширование важно
→ Сокращает количество повторяющихся запросов к базе данных.
→ Ускоряет время ответа API.
→ Снижает нагрузку на сервер и базу данных.
→ Повышает масштабируемость системы.

✓ Распространённые уровни кэширования
→ Клиентский кэш → кэш браузера, кэш мобильного приложения.
→ Кэш CDN → хранит статические ресурсы ближе к пользователям.
→ Кэш приложения → кэширование в оперативной памяти внутри сервисов бэкенда.
→ Кэш базы данных → кэширование результатов запросов.

✓ Популярные технологии кэширования
→ Redis → хранилище данных в оперативной памяти, поддерживает сохранение данных и сложные структуры данных.
→ Memcached → простое и высокоскоростное кэширование по принципу «ключ‑значение».
→ Кэши CDN → Cloudflare, CloudFront для статического контента.

✓ Стратегии кэширования

→ Cache‑Aside (отложенная загрузка)
✓ Приложение сначала проверяет кэш.
✓ При отсутствии данных в кэше извлекает их из базы данных и сохраняет в кэш.

→ Write‑Through Cache (запись через кэш)
✓ Данные записываются в кэш и базу данных одновременно.
✓ Обеспечивает согласованность данных.

→ Write‑Behind (Write‑Back) Cache (отложенная запись)
✓ Записи сначала попадают в кэш.
✓ База данных обновляется асинхронно.

→ Read‑Through Cache (чтение через кэш)
✓ Кэш автоматически загружает данные из базы данных при отсутствии в кэше.

✓ Что стоит кэшировать
→ Часто используемые данные.
→ Запросы с преобладанием операций чтения.
→ Конфигурационные данные.
→ Данные сессии.
→ Вычисленные или агрегированные результаты.

✓ Стратегии аннулирования кэша
→ Временное устаревание (TTL) → данные автоматически удаляются по истечении заданного времени.
→ Аннулирование на основе событий → кэш очищается при наступлении определённого события.
→ Ручная очистка кэша → принудительное удаление данных из кэша.
→ Версионированные ключи кэша → использование ключей с версиями для управления актуальностью данных.

✓ Типичные проблемы
→ Использование устаревших данных.
→ Несогласованность кэша.
→ «Штурм кэша» (*cache stampede*) при высокой нагрузке.
→ Ограничения по объёму памяти.

✓ Лучшие практики
→ Всегда указывайте TTL для кэшированных данных.
→ Избегайте кэширования сильно изменчивых данных.
→ Тщательно подбирайте ключи кэша.
→ Отслеживайте соотношение попаданий и промахов в кэш.
→ Комбинируйте кэширование с индексированием базы данных.
Telegram METANIT.COM Реализация кэширования на бэкенде (продолжение в следующем посте)
  • 👍 7
  • ❤ 3
  • 💯 2
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
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 →