Spring 支持集群的数据 Redis
Spring Data Redis with cluster support
我想在我的 Redis 集群设置中使用 Spring Data Redis。
现在在 Jedis 的纯代码中连接到 Redis 节点集群我们必须这样做:
Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("10.7.2.242", 7003));
jedisClusterNodes.add(new HostAndPort("10.7.2.242", 7004));
jedisClusterNodes.add(new HostAndPort("10.7.2.242", 7005));
System.out.println("jcn set initialised");
JedisCluster jc = new JedisCluster(jedisClusterNodes);
jc.set("foo_first", "bar");
String value = jc.get("foo_first");
System.out.println(value);
这输出到 bar
是正确的。
这里就很清楚了,要通过Jedis使用Redis的集群,我们必须提供Redis集群的master节点的所有Ip和Port。
现在,当使用 Spring 支持的 Redis 时,我们有一些选择,例如
JedisConnection
JedisConnectionFactory
RedisTemplate
但实际上 none 这些 类 让我有机会给出带有端口的 Ips 列表,就像我们在上面的例子中给出的那样。
我是不是遗漏了什么或者有没有办法处理 Spring 数据中的 Redis 集群,据我所知,Sentinel 和 Cluster(如果我错了请纠正我)在实际操作中是不同的实现方面,所以请不要提供哨兵的例子。
提前致谢:)
对 Redis 3.0 集群的支持尚未集成到 spring-data-redis 中。 Jira 票证 DATAREDIS-315 是为跟踪此请求而创建的。 Spring 使用的 JedisConnection/JedisConnectionFactory 类 似乎没有公开集群功能,因此您可能需要一段时间才能看到此功能完成。
Spring session 从 1.7.1 开始扩展了对 redis 集群的支持。请参考最新 reference document。
我想在我的 Redis 集群设置中使用 Spring Data Redis。
现在在 Jedis 的纯代码中连接到 Redis 节点集群我们必须这样做:
Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("10.7.2.242", 7003));
jedisClusterNodes.add(new HostAndPort("10.7.2.242", 7004));
jedisClusterNodes.add(new HostAndPort("10.7.2.242", 7005));
System.out.println("jcn set initialised");
JedisCluster jc = new JedisCluster(jedisClusterNodes);
jc.set("foo_first", "bar");
String value = jc.get("foo_first");
System.out.println(value);
这输出到 bar
是正确的。
这里就很清楚了,要通过Jedis使用Redis的集群,我们必须提供Redis集群的master节点的所有Ip和Port。
现在,当使用 Spring 支持的 Redis 时,我们有一些选择,例如
JedisConnection
JedisConnectionFactory
RedisTemplate
但实际上 none 这些 类 让我有机会给出带有端口的 Ips 列表,就像我们在上面的例子中给出的那样。
我是不是遗漏了什么或者有没有办法处理 Spring 数据中的 Redis 集群,据我所知,Sentinel 和 Cluster(如果我错了请纠正我)在实际操作中是不同的实现方面,所以请不要提供哨兵的例子。
提前致谢:)
对 Redis 3.0 集群的支持尚未集成到 spring-data-redis 中。 Jira 票证 DATAREDIS-315 是为跟踪此请求而创建的。 Spring 使用的 JedisConnection/JedisConnectionFactory 类 似乎没有公开集群功能,因此您可能需要一段时间才能看到此功能完成。
Spring session 从 1.7.1 开始扩展了对 redis 集群的支持。请参考最新 reference document。