Spring的JedisConnectionFactory是否支持新的JedisCluster?

时间:2015-05-18 22:55:07

标签: java spring spring-mvc redis jedis

我们正在将Redis堆栈迁移到Redis Cluster

在我们的部分应用程序中,这意味着我们必须用Jedis对象替换JedisCluster对象。

在我们的Spring客户端中,我们使用JedisConnectionFactory将会话持久化到redis。但是,此类似乎不支持JedisCluster。

关于如何将Spring应用程序连接到Redis群集的任何想法?

我注意到这个工厂实现了RedisConnectionFactory,需要返回RedisConnection个实例。但是,这假设只需要一个与Redis服务器的连接,而RedisCluster则不是这种情况(它需要一组redis服务器并为所有服务器创建连接)。因此,我不确定需要实现哪些接口才能将Spring引入新的堆栈。

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

Spring Data Redis 1.7将使用Jedis和生菜驱动程序支持Redis Cluster。发布日期ETA于2016年4月1日开始。

Spring Data Redis群集的代码示例已在线:https://github.com/spring-projects/spring-data-examples/tree/master/redis/cluster

答案 1 :(得分:-2)

通过Sentinel进行操作:

>     /**  * jedis  */ @Bean public RedisConnectionFactory jedisConnectionFactory() {   RedisSentinelConfiguration sentinelConfig
> = new RedisSentinelConfiguration() .master("mymaster")   .sentinel("127.0.0.1", 26379) .sentinel("127.0.0.1", 26380);   return
> new JedisConnectionFactory(sentinelConfig); }

http://docs.spring.io/spring-data/redis/docs/current/reference/html/#redis:sentinel