我可以在Redis中设置一个键:
client.set("tmpkey", 100, "EX", 100);但此函数在另一个Redis函数的回调(键或扫描)中调用时不会设置键:
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中设置值?
发布于 2019-01-22 14:41:41
结果表明,client.quit()是在完全执行client.keys()函数的回调之前调用的。
将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.');
});
});但更好的解决办法是使用承诺。
发布于 2019-01-22 14:05:40
猜猜你的红宝石库里有什么。应该也一样。
但是这个函数做的不一样。
是干什么的呢?
发布于 2022-11-19 13:23:23
如果使用4.1.0或更高版本的redis节点,可以尝试:
// params: KEY, VALUE, OPTIONS
client.set("TMP", 100, { EX: 100 });https://stackoverflow.com/questions/54309646
复制相似问题