我正在使用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);

它一个接一个地列出,但我想同时从这三个列表中弹出。

最佳答案

使用redis事务似乎是解决问题的最简单方法:

MULTI
RPOP key1
RPOP key2
RPOP key3
EXEC

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

关于list - 如何在Redis中一次弹出多个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23757615/

10-15 09:06