#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 місяця
Також варто подивитися