java どのように redis クラスターに接続するか
Redisクラスタに接続するには、Java用のRedisクライアントライブラリを使用する必要があります。以下はJedisライブラリを使用してRedisクラスタに接続するサンプルコードです。
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;
import java.util.HashSet;
import java.util.Set;
public class RedisClusterExample {
public static void main(String[] args) {
// 创建JedisPoolConfig对象
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(100); // 设置最大连接数
jedisPoolConfig.setMaxIdle(20); // 设置最大空闲连接数
// 创建Redis集群节点的Set对象
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.0.1", 6379));
nodes.add(new HostAndPort("192.168.0.2", 6379));
nodes.add(new HostAndPort("192.168.0.3", 6379));
// 创建JedisCluster对象
JedisCluster jedisCluster = new JedisCluster(nodes, jedisPoolConfig);
// 使用JedisCluster对象进行操作
jedisCluster.set("key", "value");
String value = jedisCluster.get("key");
System.out.println(value);
// 关闭JedisCluster对象
jedisCluster.close();
}
}
上記のサンプルコードでは、まず、最大接続数や最大アイドル接続数など、接続プールに関するパラメータを設定するためのJedisPoolConfigオブジェクトを作成しています。次に、Redisクラスタのノード情報を格納するためのSetオブジェクトを作成しています。そして、これらのノード情報とJedisPoolConfigオブジェクトを使用して、JedisClusterオブジェクトを作成しています。
JedisClusterオブジェクトを使用すると、Redisクラスタ全体を、あたかも単一のRedisインスタンスを操作できるように操作できます。サンプルコードでは、setメソッドでキーと値を設定し、その後getメソッドでそのキーに対応する値を取得しました。最後に、closeメソッドを呼び出してJedisClusterオブジェクトを閉じました。
Jedisライブラリの依存関係をプロジェクト内に含めたうえで、サンプルコードを実行してください。Maven または Gradle を使用して依存関係を追加できます。たとえば、Maven プロジェクトの pom.xml ファイルには次の依存関係を追加できます。
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
ご参考になれば幸いです。