subscriber.subscribe('CHANNEL');

subscriber.on('message', function(channel, message) {
    // If I do multiple jobs, say multiple db inserts
    insert1;
    insert2;
}

以下是可能的行动顺序吗?
insert1
insert1
insert2
insert2

还是保证一直是以下顺序?
insert1
insert2
insert1
insert2

最佳答案

假设您使用node_redis client,是的,它是异步的。
订阅者无论如何都需要自己的redis连接,因此即使insert1和insert2操作针对同一个redis实例,也不能保证操作的顺序。
请注意,在实践中,您不会编写代码:

insert1;
insert2;

而是:
insert1( function() {
    insert2( function() {
        callback()
    });
});

…至少如果你需要检查插入是否正常。

关于node.js - 是node.js上的redis是同步还是异步?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33952483/

10-09 21:08