Что такое "Key Eviction" и как оно настраивается?

Вопрос проверяет знание механизма удаления ключей при превышении лимита памяти.

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

Key eviction — это механизм Redis для удаления ключей, когда установленный лимит памяти превышен. Политики высвобождения памяти можно настроить в зависимости от требований приложения, например, volatile-lru (удаляет редко используемые ключи с установленным временем жизни) или allkeys-lru (удаляет редко используемые ключи независимо от их TTL).

Длинный ответ

1. Когда возникает eviction:

- Когда Redis достигает лимита памяти, заданного параметром maxmemory.

- Redis начинает удалять ключи согласно выбранной политике.

 

2. Политики высвобождения:

- noeviction: Отклоняет новые записи, если память заполнена.

- allkeys-lru: Удаляет наименее используемые ключи.

- allkeys-random: Удаляет случайные ключи.

- volatile-lru: Удаляет наименее используемые ключи с установленным TTL.

- volatile-random: Удаляет случайные ключи с TTL.

- volatile-ttl: Удаляет ключи с минимальным оставшимся TTL.

 

Настройка:
Политику высвобождения памяти можно задать в redis.conf:

maxmemory 256mb
maxmemory-policy allkeys-lru

 

Грамотный выбор политики eviction важен для поддержания производительности и функциональности Redis при ограниченных ресурсах.

Уровень

  • Рейтинг:

    2

  • Сложность:

    8

Навыки

  • Redis

Подпишись на Python Developer в телеграм