我可以在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中设置一个值?
3条答案
按热度按时间13z8s7eq1#
原来 , 在 client . keys ( ) 函数 的 回调 完全 执行 之前 , 就 调用 了 client . quit ( ) 。
将 client.quit ( ) 移 到 client.keys ( ) 的 回调 函数 中 , 我 就 解决 了 这个 问题 。
中 的 每 一 个
但 更 好 的 解决 办法 是 使用 承诺 。
vnjpjtjt2#
猜猜你的redis图书馆有什么问题。应该也一样。
但此函数的作用不同
它是做什么的?
yzckvree3#
如果您正在使用4.1.0或更高版本的redis-node,您可以尝试: