Введение
В этой лабораторной работе вы изучите основные операции с Redis Sorted Set (отсортированным множеством). Вы начнете с подключения к Redis серверу и использования команды ZADD для добавления элементов с соответствующими оценками (scores) в Sorted Set. Это включает добавление новых элементов, обновление оценок существующих элементов и понимание вывода команды.
Затем вы узнаете, как извлекать диапазон элементов из Sorted Set по их индексу с помощью команды ZRANGE, получать ранг элемента с помощью ZRANK, увеличивать оценку элемента с помощью ZINCRBY и, наконец, удалять элементы из Sorted Set с помощью ZREM.
Добавление элементов с оценками с помощью ZADD
На этом шаге вы узнаете, как добавлять элементы с оценками в Redis Sorted Set (отсортированное множество) с помощью команды ZADD. Sorted Sets - это структура данных, которая хранит элементы, связанные с оценкой (score). Элементы упорядочены по своим оценкам, что позволяет извлекать их в отсортированном виде.
Сначала давайте подключимся к Redis серверу. Откройте терминал в LabEx VM (виртуальной машине). Вы должны находиться в каталоге ~/project. Теперь подключитесь к Redis серверу с помощью команды redis-cli:
redis-cli
Вы должны увидеть приглашение Redis: 127.0.0.1:6379>.
Теперь давайте добавим несколько элементов с оценками в Sorted Set с именем my_zset. Команда ZADD имеет следующий синтаксис:
ZADD key score member [score member ...]
Где:
key- это имя Sorted Set.score- это оценка, связанная с элементом.member- это элемент, который нужно добавить.
Давайте добавим три элемента в my_zset: "apple" с оценкой 1, "banana" с оценкой 2 и "cherry" с оценкой 3.
ZADD my_zset 1 apple 2 banana 3 cherry
Вы должны увидеть следующий вывод:
(integer) 3
Это указывает на то, что в Sorted Set было добавлено три элемента.
Важно выйти из Redis CLI после этого шага, чтобы убедиться, что команды зарегистрированы правильно. Чтобы выйти, введите:
exit
Добавление дополнительных элементов и обновление оценки с помощью ZADD
На этом шаге мы продолжим добавлять элементы в Sorted Set my_zset и обновим оценку существующего элемента.
Сначала снова подключитесь к Redis серверу:
redis-cli
Теперь давайте добавим еще один элемент, "date" с оценкой 2.5:
ZADD my_zset 2.5 date
Вы должны увидеть следующий вывод:
(integer) 1
Это указывает на то, что в Sorted Set был добавлен один элемент.
Вы также можете обновить оценку существующего элемента с помощью ZADD. Давайте обновим оценку "apple" до 1.5:
ZADD my_zset 1.5 apple
Вы должны увидеть следующий вывод:
(integer) 0
Это указывает на то, что новые элементы не были добавлены (потому что "apple" уже существовал), но оценка "apple" была обновлена.
Не забудьте выйти из Redis CLI:
exit
Получение диапазона по индексу с помощью ZRANGE
Теперь, когда мы заполнили наш Sorted Set my_zset, давайте узнаем, как извлекать элементы в пределах определенного диапазона с помощью команды ZRANGE.
Подключитесь к Redis серверу:
redis-cli
Команда ZRANGE извлекает элементы из Sorted Set в пределах указанного диапазона индексов. Синтаксис следующий:
ZRANGE key start stop [WITHSCORES]
Где:
key- это имя Sorted Set.start- это начальный индекс (включительно).stop- это конечный индекс (включительно).WITHSCORES(необязательно) включает оценки элементов в вывод.
Чтобы получить первые три элемента (индексы от 0 до 2) из my_zset, используйте следующую команду:
ZRANGE my_zset 0 2
Вы должны увидеть следующий вывод, представляющий элементы, отсортированные по их оценкам:
1) "apple"
2) "banana"
3) "date"
Чтобы получить элементы вместе с их оценками, используйте опцию WITHSCORES:
ZRANGE my_zset 0 2 WITHSCORES
Вы должны увидеть следующий вывод:
1) "apple"
2) "1.5"
3) "banana"
4) "2"
5) "date"
6) "2.5"
Выйдите из Redis CLI:
exit
Получение ранга элемента с помощью ZRANK
На этом шаге вы узнаете, как определить ранг элемента в Sorted Set (отсортированном множестве) с помощью команды ZRANK. Ранг представляет собой позицию элемента в отсортированном порядке (начиная с 0 для наименьшей оценки).
Подключитесь к Redis серверу:
redis-cli
Команда ZRANK имеет следующий синтаксис:
ZRANK key member
Где:
key- это имя Sorted Set.member- это элемент, для которого вы хотите найти ранг.
Чтобы найти ранг "banana" в my_zset, используйте следующую команду:
ZRANK my_zset banana
Вы должны увидеть следующий вывод:
(integer) 1
Это указывает на то, что "banana" находится на ранге 1 в Sorted Set.
Выйдите из Redis CLI:
exit
Увеличение счета с помощью ZINCRBY и удаление элементов с помощью ZREM
На этом заключительном шаге вы узнаете, как увеличить оценку элемента с помощью ZINCRBY и удалить элементы с помощью ZREM.
Подключитесь к Redis серверу:
redis-cli
Команда ZINCRBY увеличивает оценку элемента в отсортированном множестве (sorted set). Синтаксис:
ZINCRBY key increment member
Где:
key- это имя Sorted Set.increment- это значение, на которое нужно увеличить оценку.member- это элемент, оценку которого вы хотите увеличить.
Давайте увеличим оценку "banana" на 0.5:
ZINCRBY my_zset 0.5 banana
Вы должны увидеть следующий вывод:
"2.5"
Это указывает на то, что новая оценка "banana" равна 2.5.
Команда ZREM удаляет элемент из отсортированного множества. Синтаксис:
ZREM key member [member ...]
Где:
key- это имя Sorted Set.member- это элемент, который вы хотите удалить.
Давайте удалим "banana" из my_zset:
ZREM my_zset banana
Вы должны увидеть следующий вывод:
(integer) 1
Это указывает на то, что один элемент был удален.
Выйдите из Redis CLI:
exit
Резюме
В этой лабораторной работе вы узнали, как использовать основные операции Redis Sorted Set (отсортированного множества). Вы использовали ZADD для добавления элементов с оценками, ZRANGE для получения диапазонов элементов, ZRANK для получения ранга элемента, ZINCRBY для увеличения оценок и ZREM для удаления элементов. Теперь у вас есть прочная основа для эффективного управления отсортированными множествами в Redis.


