首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置新的键Redis回调

如何设置新的键Redis回调
EN

Stack Overflow用户
提问于 2019-01-22 13:43:22
回答 3查看 1.6K关注 0票数 0

我可以在Redis中设置一个键:

代码语言:javascript
复制
client.set("tmpkey", 100, "EX", 100);

但此函数在另一个Redis函数的回调(键或扫描)中调用时不会设置键:

代码语言:javascript
复制
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中设置值?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-22 14:41:41

结果表明,client.quit()是在完全执行client.keys()函数的回调之前调用的。

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

代码语言:javascript
复制
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.');
  });
});

但更好的解决办法是使用承诺。

票数 1
EN

Stack Overflow用户

发布于 2019-01-22 14:05:40

猜猜你的红宝石库里有什么。应该也一样。

但是这个函数做的不一样。

是干什么的呢?

票数 0
EN

Stack Overflow用户

发布于 2022-11-19 13:23:23

如果使用4.1.0或更高版本的redis节点,可以尝试:

代码语言:javascript
复制
// params: KEY, VALUE, OPTIONS
client.set("TMP", 100, { EX: 100 });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54309646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档