herokuでRedisGreenを利用する

RailsでRedisGreenを利用する方法。

1. heroku addonを追加します。

$ heroku addons:add redisgreen

2. Gemfileとconfig/initializers/redis.rbを編集します。

Gemfile

gem 'redis'
gem 'hiredis'

config/initializers/redis.rb

if Rails.env.test? || Rails.env.development?
  $redis = Redis.new(host: 'localhost', port: 6379)
else
  $redis = Redis.new(url: ENV['REDISGREEN_URL'], driver: :hiredis)
end

ここでは、herokuの本番環境ではdriverにhiredisを利用して、urlにREDISGREEN_URLの値を利用するようにしています。
テスト、開発環境ではlocalhostの6379portを利用するようにしています。

  • 開発時の注意

localhostでRedis Serverを立ち上げておきましょう。

$ redis-server
  • テスト用の設定

Redis Serverを立ち上げる必要がないように、MockRedisを利用します。

Gemfile

gem 'mock_redis'

rspecの場合は、以下のようにMockRedisを利用するようにします。

spec/spec_helper.rb

config.around(:each) do
  $redis = MockRedis.new
end