#redis
#redis
Вопрос:
Я новичок в Redis.
127.0.0.1:6379> zadd myset 1 'one'
(integer) 1
127.0.0.1:6379> zadd myset 2 'two'
(integer) 1
127.0.0.1:6379> zadd myset 3 'three' 4 'four'
(integer) 2
127.0.0.1:6379> zadd myset 10 'ten' 9 'nine'
(integer) 2
Я пробовал ZRANGEBYSCORE, но он показывает только участника..
127.0.0.1:6379> ZRANGEBYSCORE myset -inf inf
1) "one"
2) "two"
3) "three"
4) "four"
5) "nine"
6) "ten"
Но я хочу получить пары Оценка / участник.
Как я могу получить эти пары?
Комментарии:
1. вам нужно добавить
WITHSCORES
в конце,ZRANGEBYSCORE myset -inf inf WITHSCORES
2. Спасибо за ответ. вы правы.. но я ищу способы выражения в стиле массива или списка.. Это невозможно в Redis?
Ответ №1:
Как уже прокомментировал @Ersoy:
вам нужно добавить
WITHSCORES
в конце,ZRANGEBYSCORE myset -inf inf WITHSCORES
Ответ отправляется в следующем формате:
1) MEMBER_1
2) SCORE_1
3) MEMBER_2
4) SCORE_1
...
Если вы хотите получить ответ в виде списка / массива пар, например:
1) MEMBER_1, SCORE_1
2) MEMBER_2, SCORE_2
...
Любой нормальный клиент Redis [1], даже на вашем предпочитаемом языке, скорее всего, преобразует его как таковой.
[1] не включая redis-cli