2014-02-12 4 views
0

У меня есть следующие два набора, и я стараюсь, чтобы пересечь их и сохранить результат:Пересекающиеся zset и установить не работает в Redis

127.0.0.1:6379> smembers out2 
1) "judy_1" 

127.0.0.1:6379> zrange dateset 0 -1 withscores 
1) "judy_4" 
2) "118903" 
    .... 
19) "judy_1" 
20) "137967" 

Вы можете увидеть «judy_1» присутствует в обоих набора и zset (с ассоциированным счетом 137967). Я хочу пересечь «out2» и «dateet», чтобы оставить «judy_1» и забить.

Я пытаюсь выполнить это и сохранить результат в «результате», но он возвращает пустой набор.

127.0.0.1:6379> zinterstore result 2 out2 dataset 
(integer) 0 
127.0.0.1:6379> 
127.0.0.1:6379> smembers result 
(empty list or set) 
127.0.0.1:6379> zrange result 0 -1 
(empty list or set) 

Любая помощь очень ценится!

+0

Это то, что вы получаете за кодирование 12 часов ... ошибка datAset vs datEset. = [ –

ответ

1

Он работает на моем конце ..

redis 127.0.0.1:6379> sadd out2 judy_1 
(integer) 1 
redis 127.0.0.1:6379> zadd dataseet 118903 judy_4 
(integer) 1 
redis 127.0.0.1:6379> zadd dataseet 137967 judy_1 
(integer) 1 
redis 127.0.0.1:6379> zrange dataseet 0 -1 withscores 
1) "judy_4" 
2) "118903" 
3) "judy_1" 
4) "137967" 
redis 127.0.0.1:6379> zinterstore result 2 out2 dataseet 
ZRANGE result 0 -1 
1) "judy_1" 

, какую версию вы используете?

+0

Странно - я использую Python (импорт Redis) для отправки команд. –

+0

Не возражаете ли вы сделать объект-кодировку на ваших наборах, чтобы я мог сравнить их с моими ...? –

+0

как вы кодируете? вы его кодируете, а затем сохраняете в redis? –

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