Типы данных Redis кратко

Лекция 4 мин.



Привет, Вы узнаете о том , что такое типы данных redis, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое типы данных redis , настоятельно рекомендую прочитать все из категории Базы данных - Redis DB Nosql.

Строки (strings). Базовый тип данных Redis. Строки в Redis
бинарно-безопасные, могут использоваться так же как
числа, ограниченные размером 512 M6.

Списки (lists). Классические списки строк, упорядоченные в порядке
вставки, которая возможна как со стороны головы, так и со стороны хвоста
список. Максимальное количество элементов – 232 – 1.

Множества (sets). Множества строк в математическом понимании: нет
упорядоченные, поддерживающие операции вставки, проверки
вхождение элемента, сечения и разности множеств. Максимальная
количество элементов – 232 – 1.

Хэш-таблицы (hashes). Классические хэш-таблицы или ассоциативные
массивы. Максимальное количество пар «ключ-значение» – 232 – 1.

Упорядоченные множества (sorted sets). Упорядоченное множество
отличается от обычного тем, что его элементы
упорядочены по особому параметру «sсоге».

Redis поддерживает огромное количество структур данных. Основные — это, конечно же, string, list, hash, table и set. Для работы с каждой из них есть набор операций: со строками мы работаем с помощью get, mget, set, append, со списками используем lpush, lpop, ltrim, llen. Операций и структур данных так много, что описать их все в этой статье просто невозможно. Поэтому я предлагаю рассмотреть только специфичные типы данных: Sorted Set, Bitmap, HyperLogLog, Stream.

Sorted Set. На базе этой структуры можно построить уже знакомый нам алгоритм «скользящего окна» (Rate Limiter):

  • Для скоринга можно использовать timestamp входящего запроса.

  • Удалить устаревшие элементы, которые вышли за пределы окна, можно командой ZREMRANGEBYSCORE.

  • Количество запросов в окне вычисляется с помощью команды ZCARD.

  • Если количество запросов не превышает лимит, то новый запрос в окно можно добавить командой ZADD.

Разрешенный rate: 2 запроса в минуту!
Разрешенный rate: 2 запроса в минуту!

Bitmap. Эта структура данных идеально подходит для высоконагруженных сервисов — она позволяет провести максимально быструю и при этом компактную с точки зрения утилизации памяти аналитику. Об этом говорит сайт https://intellect.icu . Например, составить отчет по уникальным пользователям в разрезе суток.

По сути, это битовая маска с возможностью записи и чтения по любому смещению. На фиксацию факта посещения нашего ресурса одним уникальным пользователем нам нужен всего один бит информации. Один битмап может сохранить 2^32 бита информации.

Берем идентификатор пользователя: если он имеет тип integer, то ничего дополнительно делать не нужно, просто используем его как offset в битовой маске. Если он относится к другому типу, то используем функцию hash и берем остаток от деления для получения смещения в маске. А затем выполняем команду SETBIT для установки нужного бита в маске.

Статистика посещений на Bitmap
Статистика посещений на Bitmap

Stream. Посмотрите на картинку. Что она вам напоминает?

Ну конечно: это просто калька компонентов, знакомая по ландшафту брокера Kafka. Сразу видно, чем вдохновлялись создатели Redis.

Здесь тоже идет работа с потоками, и терминология нам прекрасно знакома: producer, consumer, consumer group. Все команды для работы с потоками в Redis имеют префикс X: например, XADD. Для чтения данных в рамках consumer group используется команда XREADGROUP, доставка подтверждается командой XACK и так далее.

HyperLogLog — это вероятностная структура данных, которая позволяет определить мощность некоторого множества, т. е. количество уникальных элементов в нем. При этом она использует всего 12 Кбайт оперативной памяти и определяет кардинальность множеств вплоть до 2^64 элементов, а стандартная ошибка такой оценки — 0,81%. То есть даже меньше процента! Для работы с данной структурой нужны команды PFADD и PFCOUNT.

Исследование, описанное в статье про типы данных redis, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое типы данных redis и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных - Redis DB Nosql

Из статьи мы узнали кратко, но содержательно про типы данных redis
создано: 2026-07-12
обновлено: 2026-07-12
1



Помог ли вам этот ответ?
Нажмите оценку и напишите коротко почему. Так мы сможем сделать следующие ответы точнее и полезнее.
Насколько вы довольны ответом?
Ваш отзыв напрямую влияет на качество следующих подсказок и ответов.


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выполнения задания
  • Возможно применение функции гаранта на сделку
  • Приоритетная поддержка
  • Идеально подходит для студентов, у которых нет времени на решение заданий
Готовое решение
$0 / весь год.
  • Вы можете продать (как исполнитель) или купить (как заказчик) готовое решение
  • Вам предоставят готовое решение
  • Вы получите решение сразу — оно уже готово
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • Подходит как студентам, так и преподавателям
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно применение функции гаранта на сделку
  • Подходит как опытным студентам, так и преподавателям

Комментарии

Оставить комментарий

Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Лекции и учебник по "Базы данных - Redis DB Nosql"

Термины: Базы данных - Redis DB Nosql