Какие политики вытеснения бывают в Redis?

В Redis существует несколько политик вытеснения (eviction policies), которые определяют, как Redis освобождает память при достижении лимита памяти (maxmemory). Основные политики:

Короткий ответ

Что ответить на собеседовании

В Redis существует несколько политик вытеснения (eviction policies), которые определяют, как Redis освобождает память при достижении лимита памяти (maxmemory). Основные политики:

Подробный разбор

Ответ с пояснениями

В Redis существует несколько политик вытеснения (eviction policies), которые определяют, как Redis освобождает память при достижении лимита памяти (maxmemory). Основные политики:

  • noeviction — при достижении лимита памяти новые записи не добавляются, возвращается ошибка.
  • allkeys-lru — удаляются наименее недавно используемые (LRU) ключи из всех ключей.
  • volatile-lru — удаляются наименее недавно используемые ключи, у которых установлен срок жизни (TTL).
  • allkeys-random — удаляются случайные ключи из всех ключей.
  • volatile-random — удаляются случайные ключи с TTL.
  • volatile-ttl — удаляются ключи с TTL, у которых срок жизни истекает раньше всего.

Выбор политики зависит от сценария использования:

  • Если важна сохранность данных, можно использовать noeviction.
  • Для кэширования часто применяют allkeys-lru.
  • volatile-* политики применимы, если важны только временные ключи.

В Go при работе с Redis через клиент (например, go-redis) политики задаются на стороне Redis-сервера в конфигурации, а не в клиенте.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее