redis-rails
provides a full set of stores (Cache, Session, HTTP Cache) for Ruby on Rails. See the main redis-store readme for general guidelines.
# Gemfile
gem 'redis-rails' # Will install several other redis-* gems
# config/application.rb
config.cache_store = :redis_store, 'redis://localhost:6379/0/cache', { expires_in: 90.minutes }
Configuration values at the end are optional. If you want to use Redis as a backend for sessions, you will also need to set:
# config/initializers/session_store.rb
MyApplication::Application.config.session_store :redis_store, servers: 'redis://localhost:6379/0/cache'
You can also provide a hash instead of a URL
config.cache_store = :redis_store, { :host => "localhost",
:port => 6379,
:db => 0,
:password => "mysecret",
:namespace => "cache",
:expires_in => 90.minutes }
And similarly for the session store:
MyApplication::Application.config.session_store :redis_store, servers: { :host => "localhost",
:port => 6379,
:db => 0,
:password => "mysecret",
:namespace => "cache",
:expires_in => 90.minutes }
And if you would like to use Redis as a rack-cache backend for HTTP caching:
# config/environments/production.rb
config.action_dispatch.rack_cache = {
metastore: 'redis://localhost:6379/1/metastore',
entitystore: 'redis://localhost:6379/1/entitystore'
}
gem install bundler
git clone git://github.com/redis-store/redis-rails.git
cd redis-rails
bundle install
bundle exec rake
If you are on Snow Leopard you have to run env ARCHFLAGS="-arch x86_64" bundle exec rake
2009 - 2011 Luca Guidi - http://lucaguidi.com, released under the MIT license