地方でリモートワーク

プログラミング、先物、fx,仮想通貨なんでもやります

複数環境でredisを使う場合の設定方法

スポンサーリンク

f:id:ihatov08:20160712103332j:plain

複数環境でredisを使う場合の設定方法です。

初期設定をコメントアウト

# config/initializers/session_store.rb


# Be sure to restart your server when you modify this file.

# Rails.application.config.session_store :cookie_store, key: 'app_name_session'

これをコメントアウトしておかないと、後で設定するコードと被って正常に作動しなくなります。

環境ごとに設定

環境ごとに設定していきます。 今回はdotenvで環境変数で管理することにしました。

# config/enviroments/development.rb

config.cache_store = :redis_store, { host: ENV['REDIS_DEVELOPMENT_SERVER'], port: ENV['REDIS_DEVELOPMENT_PORT'], password: ENV['REDIS_DEVELOPMENT_PASS'], db: ENV['REDIS_DEVELOPMENT_DBNUM'], namespace: 'app_name_cache' }

config.session_store :redis_store, { servers: { host: ENV['REDIS_DEVELOPMENT_SERVER'], port: ENV['REDIS_DEVELOPMENT_PORT'], password: ENV['REDIS_DEVELOPMENT_PASS'], db: ENV['REDIS_DEVELOPMENT_DBNUM'], namespace: 'app_name_session' }, :expire_after => 1.month }




config/initializers/production.rb

config.cache_store = :redis_store, { host: ENV['REDIS_PRODUCTION_SERVER'], port: ENV['REDIS_PRODUCTION_PORT'], password: ENV['REDIS_PRODUCTION_PASS'], db: ENV['REDIS_PRODUCTION_DBNUM'], namespace: 'app_name_cache' } config.session_store :redis_store, { servers: { host: ENV['REDIS_PRODUCTION_SERVER'], port: ENV['REDIS_PRODUCTION_PORT'], password: ENV['REDIS_PRODUCTION_PASS'], db: ENV['REDIS_PRODUCTION_DBNUM'], namespace: 'app_name_session' }, :expire_after => 1.month }