问题标签 [node-redis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
279 浏览

node.js - NodeJS + redis 给出了奇怪的结果

也许结果并不奇怪,但我在 1-2 个月前开始使用 Node,所以对我来说它们是......

我有一个循环,它对(Redis 命令)返回的数组的所有其他值进行排序hgetall,在该循环中,我调用一个函数从另一个表中获取所有值,其中键存储在排序后的数组中。这比我想象的更难解释。这是我的代码:

Pastebin:http://pastebin.com/tAVhSUV1(或见下文)

来自调用的回调getInfo()在整个循环之后执行。我在这里错过了什么吗?因为它做不到,对吧?(当我使用 rArr (在循环之后)它是空的,nb但是如果我将它记录在回调中,它会在循环之后写入的所有其他内容之后被记录)

0 投票
0 回答
76 浏览

javascript - 寻求解决节点内存问题的指导

我正在尝试使用 node、socket.io 和 redis 实现一个消息队列。我正在尝试遵循此处概述的可靠队列模式。我正在尝试逐行读取日志文件(大小为 60M)(稍后将更改)并将这些行泵入队列以供稍后处理。但是,我遇到了内存分配问题。我不确定如何解决此问题,并希望获得一些关于从哪里开始的指导。我不知道问题是在读取文件还是在 redis 客户端。我已经能够像这样将消息一一添加到队列中:

因此,我知道侦听器正在工作,但是当我运行 socketClient.js 文件时,它会旋转一段时间,然后最终失败并出现以下一般错误消息:

致命错误:JS 分配失败 - 进程内存不足

是否有一些错误处理或我可以添加的分析以获取有关失败位置的更多信息?

这是代码:

socketListener.js

socketClient.js

预先感谢您的帮助!

0 投票
2 回答
1755 浏览

node.js - Nodejs performance optimization

I am new to performance optimization, and while I recognize nodejs may not be the most beginner friendly place to start, it's the task at hand.

The observation: simple JSON API requests take in the order of hundreds of milliseconds on a staging server with no load and <10 users in the database. Particularly, the call to /api/get_user is taking ~300ms

to execute this code:

(Note: we store our sessions in Redis)

The stack:

  • Nodejs
  • Express
  • Redis
  • Mongo

Where do I start?

0 投票
6 回答
17290 浏览

node.js - 如何使用节点将二进制对象存储在redis中?

我正在尝试将二进制对象保存在 redis 中,然后将其作为图像返回。

这是我用来保存数据的代码:

这是转储数据的代码:

数据的前几个字节似乎已损坏。幻数不正确。

做了一些实验:

当我执行以下操作时:

我明白了:

0000000: c289 504e 470d 0a1a 0a00 0000 0d49 4844

当我这样做时

我得到以下信息:

缓冲器 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00

我不确定 c2 来自哪里

0 投票
2 回答
7153 浏览

javascript - Node.js:关闭时关闭所有 Redis 客户端

今天,我将 Redis 集成到我的 node.js 应用程序中,并将其用作会话存储。基本上,在成功认证后,我将相应的用户对象存储在 Redis 中。

当我在身份验证后收到 http 请求时,我尝试使用哈希从 Redis 检索用户对象。如果检索成功,则意味着用户已登录并且可以满足请求。

将用户对象存储在 Redis 中和检索发生在两个不同的文件中,所以我在每个文件中都有一个 Redis 客户端。

问题 1:是否可以有两个 Redis 客户端,每个文件中一个?还是应该只实例化一个客户端并在应用程序的所有区域使用它?

问题 2:node-redis 库是否提供了显示已连接客户端列表的方法?如果是这样,我将能够遍历列表,并在服务器关闭时为它们中的每一个调用 client.quit()。

顺便说一句,这就是我实现服务器“正常关闭”的方式:

0 投票
1 回答
319 浏览

node.js - 了解 redis-store pub-sub 中的“dispatch”通道

我正在使用node.js,redis storesocket.io.

在做 PUB-SUB 时,我可以看到频道 =dispatch

因此需要了解这个dispath通道,它是如何连接到我的节点进程的,以及 PUB SUB 是如何在内部工作的。

已经浏览了redis.io pub-sub文档,但无法获取调度通道。任何其他文件都可以提供帮助。

谢谢。

0 投票
1 回答
797 浏览

node.js - 在 Node/Express 应用程序中连接到 Redis 的位置

redis 或 connect-redis 是否提供任何连接池?我不确定在快速网络应用程序中启动连接的最佳位置。

它在 server.js 中吗?还是我需要在每个向 redis 查询的控制器上启动连接?

谢谢!

0 投票
1 回答
59 浏览

redis - MAC中的Redis_Proxy安装错误

我无法在我的 Mac Mini 中安装 redis 代理。我收到以下错误消息。服务器:$ sudo npm install -g redis-proxy

0 投票
1 回答
9491 浏览

lua - 如何使用 redis-scripto 和 redis DB 在 LUA 中执行 null \ nil 检查?

我正在使用 scripto 在 node.js 中编写一个脚本,并且我正在尝试对数据库中的一个值进行 nil 检查:这是 js 代码(用于节点)-

但我无法在 if 语句中进入“ch is nil” ……有什么帮助吗??

0 投票
4 回答
16920 浏览

node.js - 如何将 node.js 中的管道传输到 redis?

我有很多数据要插入(SET \ INCR)到redis DB,所以我正在寻找管道\通过node.js进行大规模插入

我在 node.js 中找不到任何好的示例/ API,所以任何帮助都会很棒!