Вопрос с собеседования · Базы данных

Что важно учитывать при работе с Redis в production?

MiddleRedis и кэшированиеRedis
Ещё спрашивают так:
  • Какие ошибки допускают с Redis в проде?
Коротко

Команды выполняются в одном потоке — одна долгая команда тормозит всех. Отсюда: нельзя KEYS * (есть SCAN), осторожно с большими структурами, TTL на кэш-ключи и maxmemory с политикой вытеснения.

  • Большие ключи удалять через UNLINK
  • Долговечность ограничена: RDB-снимки и AOF раз в секунду, асинхронные реплики
  • Пул соединений, таймауты, pipelining

А ещё Redis — не основная база для данных, которые нельзя потерять

Подробно

Последовательное выполнение делает операции атомарными без блокировок, но превращает любую долгую команду в остановку для всех — отсюда правило избегать операций, линейных по размеру набора данных. Управление памятью задаётся политикой: noeviction приведёт к ошибкам записи при заполнении, allkeys-lru вытеснит давно не используемые ключи. Про долговечность стоит говорить честно: снимки состояния теряют последние изменения, журнал команд надёжнее, но полной гарантии всё равно нет — Redis отлично подходит для кэша, счётчиков и очередей, но не как единственное хранилище критичных данных.

Что хотят услышать

  • Однопоточность и опасные команды.
  • TTL, maxmemory, политика вытеснения.
  • Ограниченная долговечность.

Частые ошибки

  • Выполнять KEYS или FLUSHALL на боевом инстансе.
  • Класть ключи без TTL и удивляться исчерпанию памяти.

Проверьте себя

Несколько верных вариантов. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Команды выполняются по очереди: одна тяжёлая операция блокирует всех
  • ✓KEYS сканирует всё пространство ключей — в бою используют SCAN
  • ✓Нужны TTL и политика вытеснения, иначе кончится память
  • ✗Redis с включённым AOF гарантирует сохранность данных так же, как реляционная СУБД

Что спросят дальше

  • Чем снимок отличается от журнала команд по гарантиям?
  • Как выбрать политику вытеснения?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования