node.js - 在 redis/heroko/node.js 上捕获身份验证错误

标签 node.js heroku redis

我正在运行一个 redis/node.js 服务器并且有一个

[Error: Auth error: Error: ERR max number of clients reached]

我当前的设置是,我有一个连接管理器,它会添加连接,直到达到我的 heroku 应用程序的最大并发连接数(256 个,或每个 dyno 128 个)。如果是这样,它只是提供一个已经存在的连接。它速度超快,而且运行良好。

但是,昨天晚上我遇到了这个错误,我无法重现它。这可能是一个罕见的错误,我睡得不好,知道它在那里。因为:一旦抛出错误,我的应用程序将无法再访问。

所以我的问题是:

  • 这种连接管理器是个好主意吗?

  • 使用该管理器等待“空闲”被调用并关闭连接是否更好,这意味着每次请求启动时我都必须重新建立连接(这就是我想要的避免)

  • 如何阻止我的应用停止运行?我应该在发生错误时刷新连接池吗?

处理具有给定最大值的多个并发连接的一般策略是什么?

最佳答案

如果有人正在阅读:

错误是由于我部署到 live 的 redis 0.8.x 乱七八糟造成的:

https://github.com/mranney/node_redis/issues/251

我足够聪明,可以从连接池中删除失败的连接,但忘记在其上调用“.quit()”,因此连接在野外但仍然是连接。

关于node.js - 在 redis/heroko/node.js 上捕获身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13322665/

相关文章:

javascript - 为什么我无法在运行 Openshift 托管的 Node.js + Websocket 的服务器上获取连接客户端的 ip 地址(使用 WebSocket-Node)

javascript - JS、JQuery 不能与 heroku 一起使用

c# - SetEntryInHash 与 SetEntryInHashIfNotExists

Redis/ServiceStack 客户端事务异常

javascript - 如何删除换行符并制作单行文本?

node.js - 在 Ubuntu 14.04 1and1 虚拟服务器上安装 Node

javascript - 端口转发路由器监听家用电脑上的 node.js 服务器

java - Heroku Spring Boot 启动

ruby-on-rails - Heroku pgbackups :restore rebuild the database or just repopulate it?

java - Spring Data REDIS - 带有奇怪前缀的散列键,HSCAN 没有正确返回结果