我对redis很新.这个rails应用程序在config / initializers中有一个redis.rb文件
uri = URI.parse(ENV["REDIS_URL"]) $redis = Redis.new(:host => uri.host,:port => uri.port,:password => uri.password)
redis url在heroku配置上.
我不能用redoku配置中的REDIS_URL替换REDIS_URL.
我收到URI解析错误
bad URI(is not URI?): (URI::InvalidURIError)
我的问题是我应该在哪里放置redis网址?在哪里搜索env变量?
解决方法
我猜你在做耙子的时候会得到这个.问题是,在进行rake时,未设置环境变量,这会导致此错误(信息在
https://devcenter.heroku.com/articles/rails-asset-pipeline).要克服,请使用条件初始化器,例如:
if ENV["REDISCLOUD_URL"] uri = URI.parse(ENV["REDISCLOUD_URL"]) $redis = Redis.new(:host => uri.host,:password => uri.password) end
附:或者,使用this,但请注意,根据Heroku:
Using this labs feature is considered counter to Heroku best practices. This labs feature can make your builds less deterministic and require re-deploys after making config changes. Ideally your app should be able to build without config.