ruby - 开箱即用的 Redis-RB 在本地抛出 ECONNREFUSED 错误

标签 ruby ruby-on-rails-3 redis

我将 gem 'redis' 添加到我的 Gemfile 中。运行 bundle install。重新启动本地服务器,然后在我的控制台中运行 hello world 示例,结果出现错误。知道出了什么问题吗?

[kudo (develop)]$ rails console
Loading development environment (Rails 3.2.3)
1.9.3p125 :001 > redis = Redis.new
=> #<Redis client v3.0.2 for redis://127.0.0.1:6379/0> 
1.9.3p125 :002 > redis.set("mykey", "hello world")
Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:268:in `rescue in establish_connection'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:263:in `establish_connection'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:69:in `connect'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:282:in `ensure_connected'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:173:in `block in process'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:248:in `logging'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:172:in `process'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis/client.rb:84:in `call'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis.rb:608:in `block in set'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis.rb:36:in `block in synchronize'
from /Users/pejman/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis.rb:36:in `synchronize'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/redis-3.0.2/lib/redis.rb:607:in `set'
from (irb):2
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/railties-3.2.3/lib/rails/commands/console.rb:47:in `start'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/railties-3.2.3/lib/rails/commands/console.rb:8:in `start'
from /Users/pejman/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/railties-3.2.3/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'1.9.3p125 :003 > 

最佳答案

最终变得非常简单。

要安装 redis(服务器),我运行(在终端中):

brew install redis

然后在一个单独的终端窗口中,我启动了服务器:

redis-server

现在我已经准备好了。我的 redis.set 命令现在可以在 Rails 控制台中正常运行。

这是我发现的一个很好的资源,可以更深入地介绍它:http://jimneath.org/2011/03/24/using-redis-with-ruby-on-rails.html

关于ruby - 开箱即用的 Redis-RB 在本地抛出 ECONNREFUSED 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635710/

相关文章:

ajax - 如何使用 AJAX 替换 Rails 3 中的 div?

c# - 使用 StackExchange.Redis 的 Redis 键空间通知

ruby - 有什么比 .include 更快的吗?

ruby - 复合 bool 表达式 : Void Value Expression

ruby - Perl 类似于 ruby​​ 中的匿名子程序

ruby-on-rails - 如何将变量 link_to 定义为外部 URL

ruby-on-rails - ruby rails : Finding all topics in a certain category?

ruby - 在插件测试中模拟 Rails 3 路由和 Controller 的正确方法是什么?

node.js - Socket.io + Redis - 客户端正在加入彼此的 "private"房间

node.js - Node Redis XREAD 阻塞订阅