Подтвердить что ты не робот

Существует ли практическое ограничение количества элементов в отсортированном множестве в redis?

В настоящее время я переношу некоторые данные в Redis, и я рассматриваю возможность использования отсортированного набора для хранения приблизительно 1.4e6 элементов (с соответствующими оценками/подсчетами). Является ли это количество элементов в наборе, вероятно, превысит практический предел, что делает его слишком болезненным для использования набора? Я планирую запустить 64-битный redis, поэтому доступная память для данных не должна быть проблемой. У кого-нибудь есть опыт с сортированным набором этого размера? Если да, то как ваши вставки и время запроса для набора?

4b9b3361

Ответ 1

Это зависит от того, что вы хотите сделать с набором. Простыми операциями в основном являются O (log n), что означает, что они занимают всего в два раза больше для миллиона элементов, установленных для тысяч элементов. Если у вас что-то серьезно не нарушено в вашей конфигурации, как ограничение памяти, меньшее, чем установленное, производительность не должна быть проблемой.

Если вам нужно быть осторожным, это операции с несколькими наборами, особенно с объединением - это займет в тысячу раз больше для набора миллионов предметов. С практической точки зрения это не обязательно проблема, хотя - либо она будет достаточно быстрой для ваших целей в любом случае (redis имеет команды, зарегистрированные как слишком медленные для производства, которые все еще лучше всего измеряются в миллисекундах), или вы можете настроить порядок операций на избегайте соединения на действительно больших наборах.

Ответ 2

Наш сайт имеет сортированный набор, содержащий около 2 миллионов единиц (адреса электронной почты) с целыми числами и занимает около 320 МБ в размере памяти.