TGTGInsightаналитика telegramLIVE / telegram public index
← DevOps
DevOps avatar

TGINSIGHT POST

Post #1941

@DevOPSitsec

DevOps

Просмотры5,650Количество просмотров
Опубликован10 дек.10.12.2025, 10:02
Содержимое поста

Содержимое

⚡️CACHING STRATEGIES В СИСТЕМНОМ ДИЗАЙНЕ Кэширование хранит часто используемые данные в быстром слое, обычно в памяти. Это снижает нагрузку на базу данных и ускоряет ответы системы. Один из самых эффективных способов улучшить производительность, масштабируемость и сократить расходы. ПОЧЕМУ КЭШИРОВАНИЕ ВАЖНО Экономит запросы к базе Уменьшает задержку Справляется с высоким количеством чтений Укрепляет стабильность при нагрузках Снижает стоимость инфраструктуры 1) CLIENT-SIDE CACHING Хранение данных в браузере пользователя. Используются cookies, localStorage, service workers. Меньше повторных загрузок статических ресурсов. 2) CDN CACHING Статические файлы лежат на глобальных edge-серверах. CSS, JS, изображения, видео, шрифты. Меньше задержка у глобальных пользователей и разгрузка основного сервера. 3) APPLICATION-LEVEL CACHING Кэш внутри приложения. Например, структуры в памяти вроде LRU cache. Очень быстро, но работает в рамках одного сервера. 4) DISTRIBUTED CACHING Общий кэш для множества серверов. Инструменты: Redis, Memcached. Подходит для горизонтального масштабирования и устраняет дублирование кэша. 5) DATABASE QUERY CACHING Базы хранят результаты частых запросов. MySQL Query Cache, Postgres внутренний кэш, MongoDB WiredTiger. Ускоряет повторные чтения. 6) WRITE-BEHIND Запись идет в кэш, а в базу — асинхронно. Снижает задержку записи. Подходит для систем с высокой нагрузкой на запись. 7) WRITE-THROUGH Записи попадают в кэш и базу одновременно. Гарантирует консистентность. Немного медленнее из-за двойной записи. 8) CACHE-ASIDE Приложение сначала проверяет кэш. Если промах — идет в базу, затем помещает результат в кэш. Гибкий и самый популярный вариант. 9) READ-THROUGH Приложение всегда читает из кэша. При промахе сам кэш получает данные из базы. Кэш всегда остается обновленным. 10) TTL И ПОЛИТИКИ ИСТЕЧЕНИЯ Каждая запись имеет срок жизни. TTL, LRU, LFU, FIFO — разные режимы очистки данных. 11) INVALDATION Ручное удаление ключей, удаление по шаблону, автоматическое истечение по TTL или лимиту памяти. 12) MULTI-LAYERED CACHING Несколько уровней сразу: браузер, CDN, распределенный кэш, кэш приложения. Полезно для глобальных систем с большим трафиком. Совет Кэширование помогает добиться высокой скорости, низкой нагрузки на базу и хорошей масштабируемости. Стратегию нужно подбирать исходя из размеров системы, интенсивности запросов и требований к консистентности.