node.js - lpush 后的 node_redis rpop 数组

标签 node.js redis node-redis

当我在我之前将包含 4 个值的数组推送到的列表上使用 rpop 时,Redis 按预期返回所有 4 个值。我的问题是它们作为单个值返回。有没有办法让 Redis 返回一个包含 4 个值的数组,而不是返回数组包含的 4 个值?我正在使用 node_redis 客户端 https://github.com/NodeRedis/node_redis .这是一些代码,可让您了解我在做什么。

redisClient.lpush(data.pushKey, data.rowTest);

data.rowtest 看起来像这样 [ 0, 496, 1, 48 ]。

 redisClient.rpop(data.popKey, function (err, res) {
    if (err) { console.log(err); }

    if (res !== null) {
    client.send("fromList", { content: res });
    console.log(res);
    }
    });

我期望在一行中输出 [0, 496, 1, 48],但我得到了 0 496 1个 48岁 每个在一个单独的行上。

好的,我很确定在解决上述问题之前,我需要学习如何使用异步 javascript。

最佳答案

好的,这应该更明显,它给我留下了一些其他问题,但我通过在推送之前使用 JSON.stringfy() 和在弹出之后使用 JSON.parse() 解决了我的问题。 我猜想 node_redis 开发人员想要保持数组和 Redis 列表之间的相似性,因此将数组值放入 Redis 列表中......或者 Redis 列表只是数组,因此数组可以连接到现有列表。

关于node.js - lpush 后的 node_redis rpop 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53823712/

相关文章:

javascript - Quasar + Vue + SSR - 如何隐藏敏感数据,例如 API key

node.js - discord.js 提取电子邮件

node.js - 暗 Mongoose 魔法 : "Invalid argument to findOne"

redis主从复制停止工作

arrays - Redis Lua 脚本 - 如何将数组作为参数传递给 nodejs 中的 Lua 脚本?

javascript - 如何延迟 promise 直到 async.each 完成?

spring - 使用 Redis 修改 Spring session 中的前缀键

typescript - 使用 Typescript 连接 Node Redis 时出现 queueMicrotask 错误

javascript - node.js + socket.io : auction website development

node.js - 如何在 Redis 上命名空间键以避免名称冲突?