步骤:
创建一个HashSet,用于保存集群中所有节点的机器名和端口号
创建JedisPoolConfig对象,用于配置Redis连接池配置
创建JedisCluster对象
使用JedisCluster对象设置一个key,然后获取key对应的值
package xiaoliuxxs.myredis.api_test;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
public class RedisClusterTest {
private JedisCluster jedisCluster;
private JedisPoolConfig config;
@BeforeTest
public void beforeTest(){
HashSet<HostAndPort> hostAndPortSet = new HashSet<>();
hostAndPortSet.add(new HostAndPort("hadoop01",7001));
hostAndPortSet.add(new HostAndPort("hadoop01",7002));
hostAndPortSet.add(new HostAndPort("hadoop02",7001));
hostAndPortSet.add(new HostAndPort("hadoop02",7002));
hostAndPortSet.add(new HostAndPort("hadoop03",7001));
hostAndPortSet.add(new HostAndPort("hadoop03",7002));
config = new JedisPoolConfig();
config.setMaxTotal(50);
config.setMaxIdle(10);
config.setMinIdle(5);
config.setMaxWaitMillis(10000);
jedisCluster = new JedisCluster(hostAndPortSet,config);
}
@Test
public void setTest(){
jedisCluster.set("CSDN","小刘新鲜事儿");
System.out.println(jedisCluster.get("CSDN"));
}
@AfterTest
public void afterTest() throws IOException {
jedisCluster.close();
}
}
运行结果:
注意事项:
- 在构建JedisCluster的时候,需要将集群中的主从节点都添加到Set里面
- 如果使用JedisCluster操作Redis时候,不在需要获取Redis连接,直接去操作Redis即可,因为JedisCluster已经封装好了对应的操作