Cache Failover Gem
Installation
Gemfile
gem 'cache_failover'
You will need at least 2 cache stores for failover capability.
gem 'solid_cache' # optional, but you will need at least 2 cache stores
gem 'redis' # optional, but you will need at least 2 cache stores
gem 'hiredis' # optional, only for redis
gem 'dalli' # optional, but you will need at least 2 cache stores (WIP)
gem 'cache_failover'
Configuration
Configure your cache_store normally, but use CacheFailover::Store with one argument, an array of hashes with the keys store and options in the order you would like to failover. Example is shown below:
config.cache_store = CacheFailover::Store.new(
[
{
store: ActiveSupport::Cache::MemCacheStore.new(CONFIG[:MEMCACHED_SERVERS], {}),
options: {}
},
{
store: ActiveSupport::Cache::RedisCacheStore.new(
url: CONFIG[:REDIS_URL],
password: CONFIG[:REDIS_PASSWORD],
),
options: {}
},
{
store: SolidCache::Store.new(),
options: {
expiry_method: :job
}
}
]
)
WIP
- Memory Cache Support
- File Cache support
- More options
- Tests