Redis - Сортированные наборы
Сортированные наборы Redis похожи на наборы Redis с уникальной функцией значений, хранящихся в наборе. Разница в том, что каждый член Сортированного набора связан со счетом, который используется для упорядочивания сортированного набора от наименьшего до наибольшего.
В отсортированном наборе Redis добавьте, удалите и проверьте наличие членов в O (1) (постоянное время независимо от количества элементов, содержащихся внутри набора). Максимальная длина списка составляет 2 32 - 1 элемент (4294967295, более 4 миллиардов элементов в наборе).
пример
redis 127.0.0.1:6379> ZADD tutorials 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD tutorials 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"
В приведенном выше примере три значения вставляются с их оценкой в отсортированный набор Redis с именем «учебные пособия» с помощью команды ZADD.
Команды Redis Sorted Sets
В следующей таблице перечислены некоторые основные команды, относящиеся к отсортированным наборам.
Старший Нет | Команда и описание |
---|---|
1 | ZADD key score1 member1 [score2 member2] Добавляет одного или нескольких участников в отсортированный набор или обновляет его рейтинг, если он уже существует |
2 | ZCARD ключ Получает количество членов в отсортированном наборе |
3 | ZCOUNT ключ мин. Макс. Подсчитывает элементы в отсортированном наборе с оценками в пределах заданных значений |
4 | Элемент приращения ключа ZINCRBY Увеличивает оценку члена в отсортированном наборе |
5 | Клавиша назначения Numkeys ZINTERSTORE [клавиша ...] Пересекает несколько отсортированных наборов и сохраняет полученный отсортированный набор в новом ключе |
6 | ZLEXCOUNT ключ мин. Макс. Подсчитывает количество элементов в отсортированном наборе в заданном лексикографическом диапазоне. |
7 | Клавиша ZRANGE старт стоп [ОТКАЗЫВАЕТСЯ] Возвращает диапазон элементов в отсортированном наборе по индексу. |
8 | Клавиша ZRANGEBYLEX мин. Макс. [ПРЕДЕЛЬНОЕ количество смещений] Возвращает диапазон членов в отсортированном наборе по лексикографическому диапазону. |
9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] Возвращает диапазон элементов в отсортированном наборе по количеству очков. |
10 | Ключевой участник ZRANK Определяет индекс члена в отсортированном наборе |
11 | Ключевой член ZREM [член ...] Удаляет одного или нескольких членов из отсортированного набора |
12 | ZREMRANGEBYLEX ключ мин макс. Удаляет все элементы в отсортированном наборе между заданным лексикографическим диапазоном |
13 | ZREMRANGEBYRANK ключ старт стоп Удаляет все элементы в отсортированном наборе в пределах заданных индексов |
14 | ZREMRANGEBYSCORE клавиша мин. Макс. Удаляет всех участников в отсортированном наборе с заданными баллами |
15 | ZREVRANGE кнопка start stop [WITHSCORES] Возвращает диапазон членов в отсортированном наборе по индексу с оценками, упорядоченными от большего к меньшему. |
16 | ZREVRANGEBYSCORE key max min [WITHSCORES] Возвращает диапазон членов в отсортированном наборе, по количеству оценок, с оценками, упорядоченными от большего к меньшему. |
17 | Ключевой участник ЗРЕВРАНКА Определяет индекс элемента в отсортированном наборе, с оценками, упорядоченными от большего к меньшему |
18 | Ключевой член ZSCORE Получает оценку, связанную с данным членом в отсортированном наборе |
19 | Клавиша с цифровыми клавишами назначения ZUNIONSTORE [клавиша ...] Добавляет несколько отсортированных наборов и сохраняет полученный отсортированный набор в новом ключе |
20 | Курсор клавиши ZSCAN [шаблон MATCH] [COUNT count] Постепенно перебирает элементы отсортированных наборов и связанные оценки |