我正在使用 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);
它逐个处理列表,但我想同时从所有三个列表中弹出。
答案 0 :(得分:2)
使用Redis交易似乎是解决问题的最简单方法:
MULTI
RPOP key1
RPOP key2
RPOP key3
EXEC
Redis transactions official doc here中有更多信息。要使用与Node.js的事务,请参阅客户端lib文档。