2016-12-08 11 views
1

Я использую отсортированный набор в Redis.Как читать отсортированный набор по разделам?

Общая ценность данных в отсортированном наборе составляет более миллиона. Как я могу прочитать этот отсортированный набор по разделам? Я имею в виду первые 100 000 строк и следующее?

Существует только одна команда брать данные: smembers set

ответ

2

Вы можете использовать команду ZRANGE на вашем отсортированного набора и указать начальную и конечную, чтобы получить 100000 записей, а затем 100001 до 200000 в течение следующего ZRANGE.

ZRANGE documentation on Redis.io

Вы упомянули, используя smembers set принимать данные, но используется только на не отсортированных множеств. Если вы фактически используете не отсортированный набор, вам нужно будет использовать SPOP и определить свой счет на уровне 100 000. Однако это одновременно удалит все эти записи.

SPOP documentation on Redis.io

+0

Спасибо, но как я могу это сделать с помощью простых 'sets' не отсортированных? – Griboedov

0

Вы можете перебирать элементы несортированному набора пошагово с использованием SSCAN. Начните с курсора 0 и используйте возвращаемый курсор в последующих вызовах, пока не возвращается 0.

pantalones:6379> SSCAN five-characters 0 COUNT 3 
    1) "7" 
    2) 1) "d" 
     2) "e" 
     3) "a" 
     4) "c" 
pantalones:6379> SSCAN five-characters 7 COUNT 3 
    1) "0" 
    2) 1) "b" 

В этом примере первый вызов SSCAN возвращает курсор 7, который затем подается на второй вызов, чтобы SSCAN. Второй вызов возвращает курсор 0, поэтому мы знаем, что итерация завершена.

См. SSCAN documentation on Redis.io.

 Смежные вопросы

  • Нет связанных вопросов^_^