Como aumentar um valor em redis?

estou a tentar aumentar um valor para um valor-chave em redis, se o valor já existir em redis. Por exemplo, se temos

client.get(key, function checkRedis(err, data){
  var redisData = JSON.parse(data);
  if(redisData === null){
     //do something
  }else{
     client.incr(redisData.val);
  }
});
Do meu ponto de vista, de acordo com a documentação que utiliza o "incr", este valor específico deve ser aumentado automaticamente em 1. Mas não consigo ver isto acontecer com sucesso, estou a perder alguma coisa.
Author: RRP, 2016-05-31

2 answers

Tens de dar client o key não o valor.

Eu acredito que a parte de baixo fará o que você precisa.
client.get(key, function checkRedis(err, data){
  var redisData = JSON.parse(data);
  if(redisData === null){
     //do something
  }else{
     redisData.val++;
     client.set(key, redisData);
  }
});
 2
Author: Russbear, 2016-06-02 01:51:29

Você precisa usar a chave INCR para aumentar o valor em redis

   const redisClient = require('ioredis');
   const name = 'Bob';
   redisClient.incr('id', (err, id) =>
   {
      redisClient.hmset('user:' + id, 'username', name);
   });
 0
Author: Jyotirmoy Upadhaya, 2020-07-30 10:29:28