【问题标题】:My rails app's redis cache on Heroku我的 Rails 应用程序在 Heroku 上的 redis 缓存
【发布时间】:2013-02-17 03:38:11
【问题描述】:

我正在尝试在 Heroku 上使用 Redis。

我在初始化器上设置如下。

redis_url = ENV["REDISTOGO_URL"] || "redis://127.0.0.1:6379/0/myapp"
RedisApp::Application.config.cache_store = :redis_store, redis_url
RedisApp::Application.config.session_store :redis_store, redis_server: redis_url

会话工作正常。但是片段缓存会报错。

ActionView::Template::Error (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)):

我认为缓存试图访问错误的位置。

我犯了什么错误?

谢谢。

【问题讨论】:

  • 你能确认你的 Heroku 应用上设置了 REDISTOGO_URL 配置变量吗?
  • 是的。我可以确认。我用heroku配置检查了它。我成功地将它从控制器中拉了出来。
  • 我在使用 Redis Cloud 插件时遇到了完全相同的问题,但仅在我尝试设置全局 TTL 时才出现。没有 expires_in 键它工作得很好。 Redis Cloud 还免费提供 20 Mb。
  • 问题解决了吗?我在heroku上有同样的问题。似乎 ENV 没有正确加载

标签: ruby-on-rails heroku redis


【解决方案1】:

您必须将ENV 变量更改为ENV["REDIS_URL"],它将使用Heroku 本身提供的变量

【讨论】:

    猜你喜欢
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2014-08-08
    相关资源
    最近更新 更多