RedisクラスタクライアントJava実装の方法は?

JavaでRedisクラスタのクライアントを実装するには、Jedis Clusterライブラリを利用することができます。Jedis ClusterはJedisライブラリの拡張であり、Redisクラスタとのやり取りに特化しています。

Redisクラスタのクライアント実装にJedisクラスタを使用する手順は次のとおりです。

  1. JedisとJedis Clusterの依存関係を追加
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
  1. JedisClusterオブジェクトを作成し、Redisクラスタのノードリストを指定する。
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("redis-node1", 6379));
nodes.add(new HostAndPort("redis-node2", 6379));
nodes.add(new HostAndPort("redis-node3", 6379));
JedisCluster jedisCluster = new JedisCluster(nodes);
  1. JedisClusterを使用してRedisを操作する。
String value = jedisCluster.get("key");
jedisCluster.set("key", "value");

注意

  1. ジェダイ・クラスタは、手動操作なしで、ノードの検出し、フェイルオーバーを自動的に行います。
  2. ジェダイ・クラスターはコマンドを実行するノードがシャードされています。このため、別のコマンドで同じキーをノードをまたがって操作することができません。
  3. 全部のRedisコマンドがJedis Clusterプラットフォーム上でサポートされているわけではありません。複雑なコマンドの一部はサポート対象外となっています。

Jedis Cluster以外にも、LettuceやRedissonなど、 Redis クラスタのクライアント機能を実現するJavaライブラリは他にもあります。

bannerAds