Кэширование: как работает, обновляется и очищается кэш⁉️
Кэш – быстрый временный буфер для хранения данных. Его цель – ускорить доступ к информации и снизить нагрузку на основное хранилище или систему
Варианты кэширования: 1️⃣Cache Aside. Читаем из кэша. Если нет, то читаем из БД и кладём в кэш 2️⃣Read Through. Запрос идёт в кэш, при необходимости обновляет данные из БД 3️⃣Write Through. При записи сразу обновляем кэш и БД 4️⃣Write Behind. Сначала пишем в кэш, позже – в БД 5️⃣Refresh Ahead. Кэш обновляется заранее, до истечения срока жизни
Алгоритмы обновления кэша: 1️⃣TTL (Time To Live). Данные удаляются по таймеру 2️⃣По записи. Кэш обновляется автоматически при изменении данных 3️⃣По запросу (manual invalidation). Кэш сбрасывается вручную 4️⃣Прогрев (pre-warming). Кэш заполняется заранее 5️⃣По расписанию (scheduled refresh). Кеш обновляется по расписанию
Алгоритмы вытеснения (eviction): 1️⃣LRU (Least Recently Used). Удаляем самый давно неиспользуемый элемент 2️⃣FIFO (First In, First Out). Удаляем самый старый элемент 3️⃣LFU (Least Frequently Used). Удаляем наименее используемый элемент 4️⃣Random. Удаляем случайный элемент