ruby-on-rails - Redis:奇怪的协议(protocol)/网络错误

标签 ruby-on-rails ruby networking redis

我正在运行 Redis 并使用 ezmobius 的 Redis gem[1] 从 Ruby 进行连接。

由于 Redis 返回奇怪的结果,我的 Rails 应用程序会定期(大约一天一次)出现一系列异常。

它们通常由这样的异常触发:

Redis::ProtocolError: Protocol error, got '3' as initial reply byte                         

Redis::ProtocolError: Protocol error, got '9' as initial reply byte                      

或者有时

Errno::EAGAIN: Resource temporarily unavailable - Timeout reading from the socket

通常需要重新启动我的 Rails 服务器才能解决连接问题。我正在运行 Fedora Core 8、Rails 2.3.8、Redis gem 2.0.3。我已经安装了 system_timer gem。有人知道如何阻止这些错误吗?

[1] Redis gem

最佳答案

我刚刚在我的后台工作人员中注意到了同样的事情,他们将任务存储在 Redis 中的队列中,并通过 Redis 发布/订阅进行通信。谷歌结果表明,如果您从多个线程使用相同的 Redis 对象,就会发生这种情况……我不确定我的应用程序是否属于这种情况,我将不得不对此进行调查(但我确实有线程) ).

关于ruby-on-rails - Redis:奇怪的协议(protocol)/网络错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3711953/

相关文章:

ruby-on-rails - Arel + Rails 4.2 导致问题(绑定(bind)丢失)

ruby - ruby 和 activerecord 中的 AES 解密

linux - 我如何在 Linux 中使用 "interconnect"两个套接字?

networking - 客户端使用高端口号

linux - 需要将输出附加到文件

ruby-on-rails - Heroku 路线上带有 React 应用程序的 Rails 无法在刷新时工作

ruby-on-rails - Rails/Ruby - 非常奇怪,未定义的方法 `name' 为 nil :NilClass on show

ruby-on-rails - Websocket 仅适用于 ws ://but not with wss://

ruby-on-rails - Rails/Rspec - 编写涉及自定义验证和belongs_to 关联的规范

Ruby on Rails 上传文件问题 奇数 utf8 转换错误