我有一个由4个节点、1个主节点和3个奴隶组成的Redis集群,由哨兵监控。
现在,在rails中,我需要连接到这个集群,从最近的副本中读取,然后写入主服务器,就像我对MongoDB所做的一样。
使用redis-rails gem,如何配置cache_store来指定哨兵而不是单个节点?
发布于 2015-05-06 15:41:40
我可能错过了,但我不知道你能把它配置成从奴隶那里读取吗?但是,这是我的主+2从配置:
config.cache_store = :redis_store, {
url: 'redis://prestwick/1',
sentinels: [{host: 'prestwick.i', port: 26379}, {host: 'carnoustie.i', port: 26379}, {host: 'birkdale.i', port: 26379}],
role: 'master',
expires_in: 1.hour
}如果有用的话,我对一个通用REDIS对象和Sidekiq的配置(在config/initializers/001_redis.rb中):
redis_options = {
url: 'redis://prestwick/0',
sentinels: [{host: 'prestwick.i', port: 26379}, {host: 'carnoustie.i', port: 26379}, {host: 'birkdale.i', port: 26379}],
role: 'master'
}
redis_sidekiq_options = {
url: 'redis://prestwick/2',
sentinels: [{host: 'prestwick.i', port: 26379}, {host: 'carnoustie.i', port: 26379}, {host: 'birkdale.i', port: 26379}],
role: 'master'
}
REDIS = Redis.new(redis_options)
Sidekiq.configure_server do |config|
config.redis = redis_sidekiq_options
end
Sidekiq.configure_client do |config|
config.redis = redis_sidekiq_options
endhttps://stackoverflow.com/questions/30080281
复制相似问题