2016-05-31 15 views
1

Ich versuche einen Wert für einen Schlüsselwert in redis zu erhöhen, wenn der Wert in redis bereits existiert. wenn wir zum Beispiel habenWie erhöht man einen Wert in redis?

client.get(key, function checkRedis(err, data){ 
    var redisData = JSON.parse(data); 
    if(redisData === null){ 
    //do something 
    }else{ 
    client.incr(redisData.val); 
    } 
}); 

Von meinem Verständnis nach der Dokumentation mit „incr“ sollten automatisch, dass bestimmten Wert um 1 erhöht, aber ich bin nicht in der Lage diese successfuly passieren zu sehen, bin ich etwas fehle

Antwort

3

Sie müssen client die key nicht den Wert geben.

Ich glaube, dass das unten tun wird, was Sie brauchen.

client.get(key, function checkRedis(err, data){ 
    var redisData = JSON.parse(data); 
    if(redisData === null){ 
    //do something 
    }else{ 
    redisData.val++; 
    client.set(key, redisData); 
    } 
}); 
+0

was ist, wenn die Struktur sieht wie folgt aus parentKey: { key1: { val: 0 }, ....... } und ich habe val – RRP

+0

erhöhen @RajPowar dann musst du 'client.incr (" key1 ") machen' – Caius

+0

@Caius, das nicht funktioniert – RRP

Verwandte Themen