是node.js上的redis是同步还是异步?

时间:2015-11-27 07:43:50

标签: node.js asynchronous redis

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

1 个答案:

答案 0 :(得分:0)

假设您使用node_redis客户端,是的,它是异步的。

订阅者无论如何都需要自己的Redis连接,因此即使insert1和insert2操作针对相同的Redis实例,也无法保证操作顺序。

请注意,在实践中,您不会编码:

insert1;
insert2;

而是:

insert1( function() {
    insert2( function() {
        callback()
    });
});

...至少如果您需要检查插入是否正常。