首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails、Redis和Sentinel

Rails、Redis和Sentinel
EN

Stack Overflow用户
提问于 2015-05-06 14:52:16
回答 1查看 3K关注 0票数 6

我有一个由4个节点、1个主节点和3个奴隶组成的Redis集群,由哨兵监控。

现在,在rails中,我需要连接到这个集群,从最近的副本中读取,然后写入主服务器,就像我对MongoDB所做的一样。

使用redis-rails gem,如何配置cache_store来指定哨兵而不是单个节点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-06 15:41:40

我可能错过了,但我不知道你能把它配置成从奴隶那里读取吗?但是,这是我的主+2从配置:

代码语言:javascript
复制
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中):

代码语言:javascript
复制
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
end
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30080281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档