English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Упорядоченные наборы Redis, как и наборы, также являются集合ами элементов типа string и не позволяют повторяться членам.
Разница в том, что каждый элемент связан с оценкой типа double. Redis использует оценки для сортировки членов в наборе от меньшего к большему.
Члены упорядоченного набора уникальны, но оценка (score) может повторяться.
Сборники реализованы с помощью хеш-таблицы, поэтому сложность добавления, удаления и поиска составляет O(1). Максимальное количество членов в сборнике составляет 232 - 1 (4294967295, каждый набор может хранить более 4 миллиардов членов).
redis 127.0.0.1:6379> ZADD w3codeboxkey 1 redis (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 2 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql (integer) 0 redis 127.0.0.1:6379> ZADD w3codeboxkey 4 mysql (integer) 0 redis 127.0.0.1:6379> ZRANGE w3codeboxkey 0 10 WITHSCORES 1) "redis" 2) "1" 3) "mongodb" 4) "2" 5) "mysql" 6) "4"
В данном примере мы используем команду ZADD Добавлены три значения в упорядоченную集合 redis и связаны с оценками.
В таблице ниже перечислены основные команды redis упорядоченной集合и
Номер | Команда и описание |
---|---|
1 | ZADD key score1 member1 [score2 member2] Добавление одного или нескольких членов в упорядоченную集合, или обновление оценок существующих членов |
2 | ZCARD key Получение количества членов в упорядоченной集合и |
3 | ZCOUNT key min max Вычисление количества членов в указанном интервале оценок в упорядоченной集合и |
4 | ZINCRBY key increment member Добавление инкремента к оценке указанного члена в упорядоченной集合и |
5 | ZINTERSTORE destination numkeys key [key ...] Вычисление交集 одного или нескольких упорядоченных наборов и хранение результата в новом упорядоченном наборе destination |
6 | ZLEXCOUNT key min max Подсчет количества членов в указанном словарном интервале в упорядоченной集合и |
7 | ZRANGE key start stop [WITHSCORES] Возврат членов в указанном интервале по индексу в упорядоченной集合и |
8 | ZRANGEBYLEX key min max [LIMIT offset count] Возврат членов по словарному интервалу в упорядоченной集合и |
9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] Возврат членов в указанном интервале по оценке в упорядоченной集合и |
10 | ZRANK key member Возврат индекса указанного члена в упорядоченной集合и |
11 | Удаление ключа и его членов [член ...] Удаление одного или нескольких членов из сортированного множества |
12 | ZREMRANGEBYLEX key min max Удаление всех членов сортированного множества в диапазоне словаря |
13 | ZREMRANGEBYRANK key start stop Удаление всех членов сортированного множества в диапазоне рейтинга |
14 | ZREMRANGEBYSCORE key min max Удаление всех членов сортированного множества в диапазоне значений分数а |
15 | ZREVRANGE key start stop [WITHSCORES] Возврат членов сортированного множества в диапазоне по индексу, сортировка по убыванию (от высокого к низкому) |
16 | ZREVRANGEBYSCORE key max min [WITHSCORES] Возврат членов сортированного множества в диапазоне значений分数а, сортировка по убыванию (от высокого к низкому) |
17 | ZREVRANK key member Возврат рейтинга члена в сортированном множестве, сортировка членов по значениям分数а по убыванию (от大到 малому) |
18 | ZSCORE key member Возврат значения分数а члена в сортированном множестве |
19 | ZUNIONSTORE destination numkeys key [key ...] Вычисление объединения одного или нескольких сортированных множеств и хранение в новом ключе |
20 | ZSCAN key cursor [MATCH pattern] [COUNT count] Итерация по элементам сортированного множества (включая член и значение элемента) |