当前位置:  开发笔记 > 编程语言 > 正文

带redis的node.js:同步还是异步?

如何解决《带redis的node.js:同步还是异步?》经验,为你挑选了1个好方法。

在我的应用程序(node/express/redis)中,我使用一些代码同时更新DB中的多个项目:

app.put('myaction', function(req, res){
    // delete stuff
    db.del("key1");
    db.srem("set1", "test");

    // Add stuff
    db.sadd("set2", "test2");
    db.sadd("set3", "test3");
    db.hmset("hash1", "k11", "v11", "k21", "v21");
    db.hmset("hash2", "k12", "v12", "k22", "v22");
    // ...

    // Send response back
    res.writeHead(200, {'content-type': 'application/json'});
    res.write(JSON.stringify({ "status" : "ok" }));

    res.end(); 
});

在方法返回之前,我能确定所有这些操作都会执行吗?我担心的是异步处理.因为我不在db动作中使用回调函数,这样会好吗?



1> Matt Ranney..:

虽然发送所有命令并异步解析响应,但注意回调都按顺序调用是很有用的.因此,您可以使用最后一个Redis命令的回调将响应发送到客户端,然后您将知道在响应之前已执行所有Redis命令.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有