PRO

Что такое Redis? Какие структуры данных он поддерживает?

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

Что такое Redis

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

Основные структуры данных

СтруктураНазначениеПример применения
СтрокаОбычное значение по ключуКэш ответа, счётчик, сессия
ХешНабор полей внутри одного ключаПрофиль пользователя
СписокУпорядоченная последовательностьПростая очередь задач
МножествоУникальные неупорядоченные значенияТеги, роли, уникальные посетители
Упорядоченное множествоУникальные значения с числовым рейтингомТаблица лидеров
ПотокПоследовательность сообщенийПередача событий между сервисами
Битовая картаКомпактное хранение флаговУчёт активности по дням
HyperLogLogПриближённый подсчёт уникальных значенийОценка числа уникальных посетителей

Примеры команд

SET user:42:name "Alex"
GET user:42:name

HSET user:42 name "Alex" role "admin"
HGETALL user:42

LPUSH tasks "send_email"
RPOP tasks

SADD article:42:tags python redis
SMEMBERS article:42:tags

ZADD leaderboard 120 alex
ZRANGE leaderboard 0 -1 WITHSCORES

Сохранность данных

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

Как ответить на собеседовании

Redis — быстрое хранилище данных в памяти, которое часто используют для кэша, сессий, счётчиков и очередей. Он поддерживает не только строки, но и хеши, списки, множества, упорядоченные множества, потоки сообщений и другие структуры. Выбор структуры зависит от задачи: например, хеш — для полей объекта, список — для простой очереди, а упорядоченное множество — для рейтинга.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге