TDIGEST.RANK
TDIGEST.RANK
Синтаксис
TDIGEST.RANK key value [value ...]
- Доступно в:
- Redis Stack / Bloom 2.4.0
- Время выполнения:
- O(1)
Возвращает для каждого входного значения (с плавающей запятой) оценку ранга значения (количество наблюдений в эскизе, которые меньше значения, плюс половина количества наблюдений, равных значению).
Несколько рангов можно получить в одном вызове.
Необходимые аргументы
key
— имя ключа существующего эскиза t-digest.value
— входное значение, для которого должна быть оценена ранг.Возвращаемое значение
Массивный ответ — массив целых чисел, заполненных rank_1, rank_2, ..., rank_V:
- -1 — когда
valueменьше значения наименьшего наблюдения. - Количество наблюдений — когда
valueбольше значения наибольшего наблюдения. - В противном случае: оценка количества (наблюдений, меньших
value+ половины наблюдений, равныхvalue).
0 — ранг значения наименьшего наблюдения.
n-1 — ранг значения наибольшего наблюдения; n обозначает количество наблюдений, добавленных в эскиз.
Все значения равны -2, если эскиз пуст.
Примеры
redis> TDIGEST.CREATE s COMPRESSION 1000
OK
redis> TDIGEST.ADD s 10 20 30 40 50 60
OK
redis> TDIGEST.RANK s 0 10 20 30 40 50 60 70
1) (integer) -1
2) (integer) 0
3) (integer) 1
4) (integer) 2
5) (integer) 3
6) (integer) 4
7) (integer) 5
8) (integer) 6
redis> TDIGEST.REVRANK s 0 10 20 30 40 50 60 70
1) (integer) 6
2) (integer) 5
3) (integer) 4
4) (integer) 3
5) (integer) 2
6) (integer) 1
7) (integer) 0
8) (integer) -1 redis> TDIGEST.CREATE s COMPRESSION 1000
OK
redis> TDIGEST.ADD s 10 10 10 10 20 20
OK
redis> TDIGEST.RANK s 10 20
1) (integer) 2
2) (integer) 5
redis> TDIGEST.REVRANK s 10 20
1) (integer) 4
2) (integer) 1
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/tdigest.rank/