如何设置新的密钥Redis回调

时间:2019-01-22 13:43:23

标签: node.js redis node-redis

我可以使用以下方法在Redis中设置密钥:

client.set("tmpkey", 100, "EX", 100);

但是在另一个Redis函数(KEYS或SCAN)的回调内部调用时,此函数未设置键:

var client = redis.createClient(process.env.REDIS_PORT, process.env.REDIS_HOST);          

client.on('error', function (err) {
    console.log(err);
});

client.keys("TAG:*", function(err, res) {
    console.log(res);
    client.set("TMP", 100, "EX", 100);
});

client.quit(function (err, res) {
  console.log('Exiting from quit command.');
});

扫描现有密钥后如何在Redis中设置值?

2 个答案:

答案 0 :(得分:0)

使用您的redis库进行猜测。应该工作一样。

  

但是此功能不一样

它是做什么的?

答案 1 :(得分:0)

原来,在完全执行client.keys()函数的回调之前,已调用client.quit()。

将client.quit()移到client.keys()的回调中为我解决了这个问题。

client.keys("TAG:*", function(err, res) {
  console.log(res);
  client.set("TMP", 100, "EX", 100);

  client.quit(function (err, res) {
    console.log('Exiting from quit command.');
  });
});

但是更好的解决方案是使用Promises。