#3 – Продвинутые структуры данных
Видеоурок
Redis — это не просто база данных ключ-значение, а целый набор мощных структур данных, которые позволяют эффективно решать разные задачи.
Множества (Set)
Множество в Redis — это неупорядоченная коллекция уникальных строк. Важно, что Redis автоматически следит за уникальностью, поэтому один и тот же элемент не может быть добавлен дважды. Это удобно для хранения, например, списков пользователей, подписчиков или идентификаторов, которые не должны повторяться. Добавлять элементы можно командой SADD, а получать все элементы сразу — с помощью SMEMBERS. Если нужно удалить элемент, подойдет SREM.
Упорядоченные множества (Sorted Set)
Упорядоченные множества идут дальше — они не только хранят элементы, но и прикрепляют к каждому числовой балл (score). Элементы автоматически сортируются по этому баллу, что делает эту структуру идеальной для построения рейтингов, лидербордов или временных шкал. Добавление элемента выполняется командой ZADD, а извлечение элементов с их баллами — ZRANGE WITHSCORES.
Списки (List)
Списки в Redis — это упорядоченные коллекции строк, напоминающие обычные массивы. В списки можно добавлять элементы как в начало (LPUSH), так и в конец (RPUSH). Доступ к элементам возможен по индексам, а также можно получать сразу диапазоны (LRANGE). Это удобная структура для создания очередей задач, лент событий или простых буферов данных.
Хэши (Hash)
Хэш — это структура, которая позволяет хранить набор полей и значений внутри одного ключа. По сути, это маленький словарь внутри Redis. Хэши отлично подходят для хранения информации о пользователях, товарах или настройках. Например, можно сохранить имя и возраст пользователя в хэше user:1, а потом быстро получить или обновить отдельные поля с помощью команд HSET, HGET и HGETALL.
HyperLogLog
HyperLogLog — это специализированная структура, которая позволяет быстро и экономно подсчитывать количество уникальных элементов. При этом она использует совсем немного памяти, даже при миллионах элементов. Конечно, подсчет будет не абсолютно точным, но для задач вроде подсчета уникальных посетителей сайта или количества уникальных запросов этого более чем достаточно. Основные команды — PFADD для добавления элементов и PFCOUNT для получения итогового количества.
Исходный код
Весь код будет доступен после подписки на проект! Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Также стоит посмотреть