这可能很简单但我无法在任何地方找到答案(包括在代码库中)。
我有一个简单的Redis部署与master + slave。 我应该如何配置JedisPool使用master进行写入,slave / master进行读取?
我现在看到的一切都告诉我,我必须配置JedisPool连接到master,但我没有看到任何自动检测从属并在那里发送“gets”的逻辑。
我错过了什么?
非常感谢您的澄清。提前致谢。 保罗
答案 0 :(得分:0)
有一个名为Jedis-failover的解决方案:它专门用作故障转移解决方案,但也许您可以将此库扩展到您自己的用途。 JedisPool只是一个Jedis实例池,我认为有一种方法可以告诉Jedis根据查询调用另一个Redis服务器,因为Jedis实例是由单个连接定义的。您可能必须在JedisPool上定义自己的外观,它可以包含基于您的redis服务器拓扑的JedisPool列表。
以下是有关jedis-failover的有趣链接,请注意,您可能需要Zookeeper来管理此配置。
https://github.com/officedrop/jedis_failover
http://fr.slideshare.net/ryanlecompte/handling-redis-failover-with-zookeeper
还有redis sentinel,这是一个非常新的alpha / beta。但这是正式的。