複数環境で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
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA