2016-05-31 1 views
1

J'essaie d'incrémenter une valeur-clé dans redis, si la valeur existe déjà dans redis. Par exemple, si nous avonsComment incrémenter une valeur dans redis?

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

De ma compréhension, d'après la documentation à l'aide « INCR » devrait augmenter automatiquement cette valeur spécifique 1. Mais je ne peux pas voir cela se produire avec succès, me manque quelque chose

Répondre

3
i

Vous devez donner client le key pas la valeur. Je crois que le ci-dessous fera ce dont vous avez besoin.

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

si la structure ressemble à la parentKey suivante: { key1: { val: 0 }, ....... } et je dois incrémenter val – RRP

+0

@RajPowar que vous aurez à faire 'client.incr (" key1 ")' – Caius

+0

@Caius qui n'a pas fonctionné – RRP