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

标签 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);

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

最佳答案

使用 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/

相关文章:

node.js - Node-Redis:就绪检查失败 - 需要 NOAUTH 身份验证

node.js - 使用 redis pubsub 和 socket.io 的关注者状态更新通知

node.js - ioredis-Node JS中的Ping命令

java - 从多个推荐列表中提取热门推荐

java - 在下一个 Activity 中创建列表之前,在加载屏幕中显示一个计数器(对列表项进行计数)

Python:如何从列表列表中删除包含 Nones 的列表?

python - 有效地将列表合并到稀疏列表中

arrays - 对于数百万个对象,如果实时需要,是存储在数组中好还是存储在像redis这样的数据库中好?

amazon-web-services - 在 Amazon ec2 实例上托管 redis 服务器的最佳实践?

data-structures - 是否有更好的数据结构可用于在 Redis 中索引这些数据?