1
我正在嘗試使用redis存儲作爲我在heroku上的會話存儲。它在開發中工作正常,但我無法在heroku上獲得redis連接。它試圖連接到127.0.0.1而不是正確的redis服務器。heroku上的Redis會話存儲
錯誤:
ActionView::Template::Error (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)):
我已經設置了Heroku的redis的配置到正確的服務器(沒有真正使用會話存儲,但它被設置)
REDISTOGO_URL: redis://redistogo:################################@carp.redistogo.com:9274/
session_store.rb
GrnAuth::Application.config.session_store :redis_store, :server => APP_CONFIG['redis_server'], key: '_grn_session'
environment.rb
# Load the rails application
require File.expand_path('../application', __FILE__)
require 'yaml'
APP_CONFIG = YAML.load_file("#{Rails.root}/config/config.yml")[Rails.env]
# Initialize the rails application
GrnAuth::Application.initialize!
config.yml
development:
redis_server: redis://localhost:6379/
test:
redis_server: redis://localhost:6379/
production:
redis_server: redis://redistogo:################################@carp.redistogo.com:9274/
當我安慰到Heroku的,我可以檢查APP_CONFIG['redis_server']
並且它被設置爲Redis的服務器。
我也設置了一個redis連接來使用它。
redis.rb
uri = URI.parse(ENV["REDISTOGO_URL"] || "redis://localhost:6379/")
$redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
當我安慰到Heroku上我可以做,並獲得以下
irb(main):001:0> $redis
=> #<Redis client v3.0.1 for redis://carp.redistogo.com:9274/0>
任何幫助將非常感激。謝謝。
你也可以使用':redis_server'作爲參數。只是不'':服務器' –
前一段時間得到了這個工作,你說得對你的評論。我使用redis_server,GrnAuth :: Application.config.session_store:redis_store,:redis_server => APP_CONFIG ['redis_server'],鍵:'_grn_session' – SuddenlyAwakened