TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Системный Аналитик

4 Mar 2025, 11:04

Открыть в Telegram Поделиться Пожаловаться

🔵 Уровни кэширования

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

Уровни кэширования
— места в цепочке передачи данных, где может происходить кэширование


Клиентский кэш

Хранение данных на устройстве пользователя (например, в браузере) для ускорения доступа к часто запрашиваемым ресурсам
 
Тип данных: статические (изображения, CSS, JavaScript)

💙хранит статические данные (изображения, CSS, скрипты)
💙работает с заголовками HTTP (Cache-Control, ETag, Last-Modified)
💙срок жизни данных ограничен временем в заголовках или ручной очисткой

Проблемы и решения

💙 устаревшие данные: использовать версии URL или кэш-бастинг (например, если файл style.css обновился, к URL добавить параметр style.css?v=2.0)
💙 избыточное кэширование: уменьшить объем кэшируемых данных с помощью заголовков (например, Cache-Control: no-cache для динамических данных, ETag, Last-Modified)


Сетевой кэш

Кэш на промежуточных узлах сети (например, CDN)
Используется для уменьшения задержек и нагрузки на сервер

Тип данных: статические (медиафайлы, страницы) и динамические (обработанные данные с учетом TTL)

⏩хранит данные близко к пользователю (PoP-узлы, точки присутствия) 
⏩уменьшает трафик за счет ускорения доставки статических ресурсов
⏩обновление данных через TTL или инвалидацию

Проблемы и решения

➡несинхронизированные данные: регулярная инвалидация и настройка TTL
Стратегия «push» обновлений помогает предотвратить "протухания"
➡высокая нагрузка на основной сервер при обновлении: расширение сети PoP или  многоуровневый кэш (узлы обновляют данные между собой)


Серверный кэш 

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

Тип данных: динамические (результаты запросов, промежуточные вычисления)

💙применяется для часто запрашиваемых данных (например, результаты сложных вычислений)
💙примеры: Redis, Memcached
💙кэширование как статических, так и динамических данных

Проблемы и решения

💙 перезапись кэша и потеря данных: использовать алгоритмы управления кэшем, например, LRU (Least Recently Used). Или механизм TTL для периодической очистки.
💙 конкуренция за память: настроить лимиты на использование памяти и использовать высокоэффективные структур данных (например, Bloom filter) для снижения нагрузки на память


Уровень приложения (кэш приложения) 

Кэширование на уровне бизнес-логики приложения, где данные обрабатываются и сохраняются в памяти / специализированных хранилищах

Тип данных: динамические (сессии, промежуточные результаты)

⏩сохраняет промежуточные данные, которые генерируются во время работы приложения
⏩позволяет минимизировать повторные вычисления или запросы к БД
⏩пример: кэширование запросов в БД с помощью ORM

Проблемы и примеры решения

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


📎 Материалы
1. Что такое кэширование сайта и почему это важно
2. Кэш
3. Чем полезно кэширование сайта и как его настроить
4. Браузерное и серверное кэширование
5. Проектирование эффективной системы кэширования
6. Обзор использования клиентского кэша с распределенным кэшированием
7. Основы клиентского кэширования понятными словами и на примерах. Last-modified, Etag, Expires, Cache-control: max-age и другие заголовки
8. Кеширование. Настроить и проверить параметры кеширования на CDN-серверах
9. Клиентский кэш данных

#архитектура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу

9.9k 1 210 27
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot