问题标签 [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 回答
354 浏览

node.js - Socket.io 在 Node.js + Redis + Heroku(多个 dynos)环境中发出并不总是收到

环境上下文

我们正在Heroku 上运行一个Node.js v0.10.25应用程序。Socket.io v0.9.16我们正在使用redis v2.6,更具体地说是 Heroku 附加组件“redis to go”,作为套接字存储。我们目前正在运行两个测功机。

问题

问题是套接字连接通过xhr-polling发送到套接字但并不总是在同一个套接字上接收。一个例子:

  • 我们发出一个心跳服务器端。
  • 我们并不总是收到客户端的响应。

服务器端代码

客户端代码

对此的任何帮助将不胜感激,在此先感谢!

0 投票
1 回答
121 浏览

node.js - 如果第二个命令确保两个 redis 命令是原子的

使用 node_redis 客户端,如何使两个命令执行,以便在第二个命令依赖于第一个命令的结果时自动执行它们。

这是我在想的一个例子。

如果这在两个地方同时运行,有人可以确认不会存在写回新值的竞争条件。

0 投票
3 回答
2213 浏览

json - 扩展 websocket 节点服务器

我知道这个问题之前已经部分被问过(如何扩展 Node.js WebSocket Redis 服务器?),但我想知道是否有任何替代 redis 的方法可以在节点实例之间快速共享 websocket 对象,特别是 ws 类型的套接字(https:// github.com/einaros/ws)。我已经尝试过 redis,但遇到了 Web 套接字对象是循环且难以序列化的问题。然后我使用了 Crockford 的 cycle.js (https://github.com/douglascrockford/JSON-js/blob/master/cycle.js),但是它似乎去掉了 websocket 对象方法,因为我从节点那里得到一个错误说“对象对象没有方法发送”在我从 redis 读回套接字并重新循环后。任何帮助将非常感激。

提前感谢,詹姆斯。

0 投票
0 回答
526 浏览

node.js - Nodejs - 使用 redis DB 的 express 应用程序的护照 oauth2 身份验证

我在为 Passport Amazon oAuth2 创建 Redis 数据库模型时遇到问题。我正在使用“redis-connect”模块,并且我有一个正在运行的 Redis 本地服务器。我的 redis 服务器成功存储了会话数据,因此模块和服务器运行良好。我只需要有关 User 变量的帮助。这是我的代码:

findById 函数也没有定义。我不知道如何......我相信它是 redis-connect 模块的一部分。有谁可以帮我离开这里吗?

0 投票
1 回答
2499 浏览

node.js - node redis zadd key error

I try to use redis sorted set command zadd. But keeping throw error when i run this script:

Is anything wrong with this code?

By the way: What i try to accomplish is notification/inbox system... So better save time from asking me like you will help and finally you don't :(

ERROR: ERR Operation against a key holding the wrong kind of value

0 投票
1 回答
2692 浏览

node.js - 使用 mocha 进行 Node-Redis 异步测试

我有一个用 Node.JS 编写的简单异步代码,它将一个字符串添加到 Redis SET 中。这是代码,它保存在一个名为 redis_ops.js 的文件中

由于 client.sadd 是异步的,所以包含 client.sadd 的函数会在 client.sdd 完成之前返回。这是使用 Mocha 编写的测试

测试失败,因为 redis_ops 返回 undefined (无返回值),因为包含 client.sadd 的函数首先返回,异步 client.sadd 稍后返回要在 test 中断言的预期值。如何在不重复代码或不包含同一文件中的所有代码的情况下测试来自异步 client.sadd 的返回值?

0 投票
6 回答
51611 浏览

redis - 如何在不影响剩余 TTL 的情况下更新 redis 值?

是否可以在SET不删除现有 ttl 的情况下重新分配密钥?我目前知道的唯一方法是找出 ttl 并做一个SETEX,但这似乎不太准确。

0 投票
1 回答
9759 浏览

redis - 如何使用redis存储分层数据?

我有一组分层数据要存储,层次结构就像站点/建筑物/楼层,例如数据

我想将这些房间数据存储到一个集合中,但我也可以通过选择站点名称或(站点名称 + 建筑物名称)或(站点名称 + 建筑物名称 + 楼层)来查询房间的子集

0 投票
3 回答
7252 浏览

node.js - NodeJS:我无法让 connect-redis 与 express 一起工作

这是我的代码:

这是我得到的错误:

请帮忙

0 投票
4 回答
2395 浏览

redis - 在 redis sentinel 客户端中复活 master 的问题

我开始在设置了主从设置的 redis 上工作。主机和从机设置在具有不同端口的同一台机器上。对于处理主/从故障转移,似乎 redis 有哨兵。我正在尝试实施哨兵。

我的大师 redis.conf:

我的从站的 redis1.conf:

我的 sentinel.conf 有:

我正在使用https://www.npmjs.org/package/redis-sentinel-client作为哨兵客户端。

只有一个 sentinel.conf 文件用于主从文件。我运行了两台服务器并通过杀死主服务器进行了检查。奴隶如预期般成为主人。From http://redis.io/topics/sentinel-old , under Resurrecting master section it is mentioned that the master which goes down will be added as slave of new elected master. 但是当我把我的主人打倒时,奴隶就成了主人。但老主人仍然不是新主人的奴隶。这是使用哨兵的正确方法..?

有关如何使用哨兵处理故障转移的任何建议。?或者节点的任何其他哨兵客户端包..?