TDIGEST.REVRANK
TDIGEST.REVRANK
Синтаксис
TDIGEST.REVRANK key value [value ...]
- Доступно в:
- Redis Stack / Bloom 2.4.0
- Временная сложность:
- O(1)
Возвращает для каждого входного значения (с плавающей запятой) оценочный обратный ранг значения (количество наблюдений в эскизе, которые больше, чем значение + половина количества наблюдений, равных значению).
Несколько обратных рангов могут быть получены в одном запросе.
Обязательные аргументы
key
это имя ключа для существующего эскиза t-digest.value
это входное значение, для которого должен быть оценён обратный ранг. Возвращаемое значение
Массивный ответ — массив целых чисел, заполненный revrank_1, revrank_2, ..., revrank_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) -1redis> 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.revrank/