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