Вопрос проверяет знание встроенных типов данных в Redis и их предназначения.
Redis поддерживает следующие типы данных:
Strings: Хранение текста или бинарных данных (например, кэши, счетчики).
Lists: Списки элементов в порядке добавления (например, очереди задач).
Sets: Неупорядоченные коллекции уникальных строк (например, теги, списки пользователей).
Sorted Sets: Похожи на множества, но каждый элемент имеет оценку (например, рейтинги, лидерборды).
Hashes: Хранение объектов с полями и значениями (например, данные пользователя).
Bitmaps и HyperLogLogs: Для работы с битами и оценкой количества уникальных элементов.
Каждый тип данных предназначен для конкретных задач:
Strings: Использую для кэширования, хранения токенов и значений конфигурации.
Пример:
SET key value
GET keyLists: Удобны для реализации очередей и упорядоченных данных.
Пример:
LPUSH tasks "Task1"
LPOP tasksSets: Идеальны для уникальных коллекций (например, зарегистрированные пользователи).
Пример:
SADD users "Alice"
SISMEMBER users "Alice"Sorted Sets: Полезны для приложений с оценкой (например, рейтинг фильмов).
Пример:
ZADD leaderboard 100 "Player1"
ZRANGE leaderboard 0 -1 WITHSCORESHashes: Для хранения объектов с ключами и значениями, например, профилей.
Пример:
HSET user:1 name "Alice" age "30"
HGETALL user:1