Spring Data Redis с поддержкой кластера

Я хочу использовать Spring Data Redis с моей кластерной настройкой 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, что правильно.

Здесь совершенно ясно, что для использования кластера Redis через Jedis мы должны предоставить все IP-адреса и порты главных узлов Redis Cluster.

Теперь, когда мы подходим к Redis с поддержкой Spring, у нас есть некоторые варианты, например:

JedisConnection
JedisConnectionFactory
RedisTemplate

но на самом деле ни один из этих классов не дает мне возможности дать список IP-адресов с портами, как в приведенном выше примере.

Я что-то пропустил или есть способ обработки кластера Redis в Spring Data, также, насколько мне известно, Sentinel и Cluster (поправьте меня, если я ошибаюсь) отличаются в аспекте практической реализации, поэтому, пожалуйста, не предоставляйте примеры Стражей.

Заранее спасибо, :)


person Ankur Verma    schedule 13.04.2015    source источник


Ответы (2)


Поддержка кластеров Redis 3.0 не была интегрирована в spring-data-redis. Билет Jira DATAREDIS-315 был создан для отслеживания этого запроса. . Похоже, что возможности кластера не были раскрыты через классы JedisConnection/JedisConnectionFactory, используемые Spring, поэтому может пройти некоторое время, прежде чем вы увидите, что эта функция реализована.

person riversidetraveler    schedule 14.05.2015

В Spring Session расширена поддержка кластеров Redis, начиная с версии 1.7.1. См. последний справочный документ.

person Sanket Meghani    schedule 11.04.2016
comment
вместо этого вы имели в виду Spring Data? - person asgs; 18.05.2018