Получить доступ

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

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

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

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

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

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

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

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

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

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

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

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

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

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

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

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

Разбор темы

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

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем