2012-05-04 5 views
1

나는 https://github.com/mranney/node_redis을 사용하고 있으며 한 번에 여러 값으로 세트를 업데이트하려고합니다 (redis cli "SADD myset val1 val2"에서 잘 작동 함).node.js의 배열로 SADD가 작동하지 않는 이유는 무엇입니까?

내가 사용하고 정확한 명령은 다음과 같습니다이 근무하는의해야 자신의 문서에

var cmd_array = ['myset', 'val1', 'val2']; 
client.sadd(cmd_array); 

를 기준으로합니다. 왜 그렇게 생각하지?

감사합니다.

답변

4

괜찮습니다. 나는 어떤 문제없이 다음 스크립트를 실행할 수 있습니다

var redis = require("redis"), 
    client_options = { 
    parser: "hiredis" 
}; 

var credis = redis.createClient('/tmp/redis.sock', client_options); 

function main() 
{ 
    credis.flushall(function(err,res) { 
     console.log("hello"); 
     x = [ "X", "A", "B", "C" ]; 
     credis.sadd(x); 
     credis.sadd("myset", x, function(err,res) { 
     console.log("done"); 
     credis.end(); 
     }); 
    }); 
} 

main(); 

그것은 항목의 예상 번호와 함께 두 개의 키를 만듭니다

redis 127.0.0.1:6379> keys *                                                     
1) "X"                                                          
2) "myset"                                                         
redis 127.0.0.1:6379> smembers myset                                                   
1) "X"                                                          
2) "A"                                                          
3) "B"                                                          
4) "C"                                                          
redis 127.0.0.1:6379> smembers X                                                    
1) "A"                                                          
2) "B"                                                          
3) "C"                                                          

나는 당신이 node_redis 버전을 확인 건의 할 것입니다. 내가 사용하는 버전은 다음과 같습니다.

$ npm list 
/home/dspezia/local/test_redis 
├── [email protected] 
└── [email protected] 
+0

답장을 보내 주셔서 감사합니다. 나는 정확한 오류가 발생하는 방식으로 0.7.2 버전을 사용하고 있습니다. "오류 : 오류 : 오류 : 'sadd'명령에 대한 잘못된 인수 개수입니다. – user971956

+0

설치 한 버전에서 코드를 실행했습니다 (0.7 .2) 그리고 같은 오류가 발생합니다. 질문은 설치 또는 버전 관련 문제인지 여부입니다. – user971956

+0

나는 0.7.2로 업그레이드했고, 여전히 나에게 잘 돌아 간다. 확인할 node.js 버전 자체도 있습니다. dev 브랜치 (예 : 버전> 0.6.16)를 사용합니까? –

관련 문제