如何在Redis中一次弹出多个列表

时间:2014-05-20 10:44:12

标签: list redis node-redis

我正在使用 node_redis 。我想一次从多个列表中弹出元素 这是我的代码。

setInterval(function () {
    redisClient.rpop('qwerty123', function (errorMessage, responseData) {
        socketData.emit('qwerty123', {
            'qwerty123': responseData.toString()
        });
        });
    redisClient.rpop('qwerty234', function (errorMessage, responseData) {
        socketData.emit('qwerty234', {
            'qwerty234': responseData.toString()
        });});
    redisClient.rpop('qwerty345', function (errorMessage, responseData) {
        socketData.emit('qwerty345', {
            'qwerty345': responseData.toString()
    });});
}, 1000);

它逐个处理列表,但我想同时从所有三个列表中弹出。

1 个答案:

答案 0 :(得分:2)

使用Redis交易似乎是解决问题的最简单方法:

MULTI
RPOP key1
RPOP key2
RPOP key3
EXEC

Redis transactions official doc here中有更多信息。要使用与Node.js的事务,请参阅客户端lib文档。