我试图将redis与rails和命名空间一起使用。 在我的application.rb中,我把:
config.cache_store = :redis_store, 'redis://localhost:6379/0/cache', { expires_in: 90.minutes }
这里的localhost是我正在开发我的rails项目的窗口中的redis。
和我的config / initializers / redis.rb:
$redis = Redis::Namespace.new("my_app_name", :redis => Redis.new)
从我的控制器中我可以完美地访问它。
$redis.set("foo","bar")
word=$redis.get("foo")
puts word -------> output is "bar".
但我无法在另一台Linux服务器而不是localhost上访问Redis。 我试着这样做:
config.cache_store = :redis_store, 'redis://that_server_ip:6379/0', { expires_in: 90.minutes }
我不断得到
Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (Redis::TimeoutError)).
答案 0 :(得分:0)
您的错误消息显示它仍在尝试连接到localhost,但是失败了。您可能需要重新启动应用才能接收新配置。
答案 1 :(得分:-1)
您需要通过防火墙公开您的端口,使用iptables
或ufw
[增订]
你可以发布你的/etc/hosts
文件吗?