Adds support for Elasticache failover to the Ruby driver of the redis-rb gem. Elasticache replication groups can transparently promote a new node to master, but TCP connections are persistent. This patch makes READONLY error messages from Redis get handled like a connection error instead of a command error so redis-rb will self heal the connection and run the command against the new master node.
Add this line to your application's Gemfile:
In your gemfile
gem 'redis-elasticache'
And then execute:
$ bundle
Or install it yourself as:
$ gem install redis-elasticache
In an environment that is backed by an Elasticache Replication Group.
require 'redis/elasticache/failover'
Bug reports and pull requests are welcome on GitHub at https://github.com/craigmcnamara/redis-elasticache. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.