Redis

7 вопросов

Redis - in-memory хранилище с поддержкой структур данных (строки, списки, sorted sets, хеши). Используется как кеш, брокер сообщений, session store. TTL, persistence (RDB/AOF), distributed lock.

1 Что такое Redis? 🟢 Лёгкий
Ответ: B) In-memory хранилище данных с поддержкой различных структур

Redis - in-memory key-value хранилище. Все данные в RAM - операции за микросекунды. Поддерживает строки, списки, множества, хеш-таблицы, sorted sets, streams. Используется как кеш, брокер сообщений, session store.

Подробнее →
2 Что такое TTL в Redis? 🟢 Лёгкий
Ответ: B) Время жизни ключа, после которого он автоматически удаляется

TTL (Time To Live) задаёт время жизни ключа: SET key value EX 60 или EXPIRE key 60. После истечения ключ автоматически удаляется. Основа кеширования - кеш автоматически инвалидируется.

Подробнее →
3 Какую структуру данных Redis лучше использовать для лидерборда? 🟡 Средний
Ответ: C) Sorted Set (ZSET)

Sorted Set хранит элементы с числовым score и автоматически сортирует. ZADD leaderboard 100 "player1" добавляет игрока. ZREVRANGE - топ игроков. ZRANK - позиция. O(log N) для вставки и поиска.

Подробнее →
4 Какие механизмы сохранения данных на диск поддерживает Redis? 🟡 Средний
Ответ: B) RDB (снапшоты) и AOF (лог операций)

RDB - периодические снапшоты (быстрое восстановление, но потеря данных между снапшотами). AOF - журнал каждой операции (минимальная потеря, но больший файл). Можно использовать оба одновременно.

Подробнее →
5 Чем Redis отличается от Memcached? 🟡 Средний
Ответ: B) Redis поддерживает структуры данных, persistence и pub/sub

Redis: множество структур данных (lists, sets, hashes), persistence (RDB/AOF), pub/sub, Lua-скрипты, кластеризация. Memcached: только key-value строки, нет persistence, проще, но многопоточный (Redis однопоточный для команд).

Подробнее →
6 Какая стратегия инвалидации кеша наиболее надёжна? 🔴 Сложный
Ответ: B) Cache-aside: пишем в БД, удаляем из кеша

Cache-aside: 1) читаем из кеша; 2) если нет - читаем из БД, кладём в кеш; 3) при записи - пишем в БД, удаляем из кеша (не обновляем!). Удаление надёжнее - при ошибке не останутся устаревшие данные. Следующее чтение заполнит кеш актуальными данными.

Подробнее →
7 Как реализовать распределённую блокировку в Redis? 🔴 Сложный
Ответ: B) SET key value NX EX timeout

SET key value NX EX 30 - атомарно устанавливает ключ, только если он не существует (NX), с таймаутом 30 секунд (EX). Если SET удался - блокировка получена. Таймаут предотвращает вечную блокировку при сбое. Redlock - алгоритм для кластеров.

Подробнее →
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.