Встречается на собеседованиях • сегодня

Опиши технологию инвалидации кэша

Инвалидация кэша — процесс признания данных в кэше устаревшими и их обновления. Основные подходы:

  1. По времени (TTL)
    Автоматическая инвалидация через заданный интервал.
    python
    from datetime import timedelta
    from django.core.cache import cache
    
    cache.set('key', 'value', timeout=timedelta(hours=1).total_seconds())
  1. По событию
    Ручная очистка при изменении данных:

    python
    cache.delete('key')  # Удаление по ключу
    cache.clear()       # Полная очистка
  2. Версионирование ключей
    Добавление версии/хэша в ключ:

    python
    version = 2
    cache_key = f'data_{version}'
  3. Тэгирование (в продвинутых системах)
    Групповая инвалидация по тэгам:

    redis
    CACHE_TAG = "products"

Нюансы:

  • Для распределенных систем используют бродкаст-сообщения
  • Важно балансировать между частотой инвалидации и нагрузкой на БД
  • В веб-приложениях часто комбинируют несколько методов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы