Есть ли практическое ограничение на количество элементов в отсортированном наборе в redis? - PullRequest
21 голосов
/ 20 мая 2011

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

Ответы [ 2 ]

22 голосов
/ 23 мая 2011

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

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

11 голосов
/ 30 мая 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...