Каков тип данных оценки в отсортированных наборах Redis?

Итак, я просмотрел документы Redis, а также вопрос о внутренних структурах данных Redis, но, не просматривая источник Redis, я не могу получить ответ о том, какой тип данных для " счет" отсортированного списка.

Причина, по которой я спрашиваю, заключается в том, что я думаю, что хочу отсортированный набор, назовем его «CHH», где оценка выглядит следующим образом: «{u64}~{int}», а затем мое значение представляет собой большую строку значений, разделенных запятыми. «вещей» для моего приложения, которые гарантированно будут уникальными для данной оценки.

Во всех примерах, которые я видел, оценка обычно показывалась как простое целочисленное значение, хотя они говорят, что ее можно сравнивать лексографически (sp?). Есть ли ограничение по размеру партитуры? Каково его внутреннее представление?


person longofest    schedule 27.07.2015    source источник


Ответы (1)


Отсортированные наборы Redis используют двойное 64-битное число с плавающей запятой для представления оценки. Во всех поддерживаемых нами архитектурах это представляется как число с плавающей запятой IEEE 754, которое может точно представлять целые числа от -(2^53) до +(2^53) включительно. С практической точки зрения, все целые числа от -9007199254740992 до 9007199254740992 прекрасно представимы. Большие целые числа или дроби внутренне представлены в экспоненциальной форме, поэтому возможно, что вы получите только приближение десятичного числа или очень большого целого числа, которое вы установили в качестве оценки.

http://redis.io/commands/zadd

person CrazyPheel    schedule 27.07.2015
comment
Ну эй! Это было прямо передо мной. Спасибо CrazyPheel! - person longofest; 27.07.2015