jedis 连接 redis

时间:2023-03-09 15:01:02
jedis 连接 redis

一、连接单机版的 redis

/**
* 直接连接 redis
* @throws Exception
*/
@Test
public void test1() throws Exception {
//创建一个 jedis 对象,参数:host、post
Jedis jedis = new Jedis("192.168.25.128", 6379);
//直接通过 jedis 操作 redis,每个 redis 命令都对应一个方法
jedis.set("a", "hello");
String str = jedis.get("a");
System.out.println(str);
//关闭连接
jedis.close();
} /**
* 通过连接池连接 redis
* @throws Exception
*/
@Test
public void test2() throws Exception{
//创建一个连接池对象,两个参数 host、post
JedisPool pool = new JedisPool("192.168.25.128", 6379);
//从连接池获得一个连接,就是一个 jedis 对象
Jedis jedis = pool.getResource();
//使用 jedis 操作 redis
String str = jedis.get("a");
System.out.println(str);
//关闭连接(每次使用完毕后都要关闭连接)
jedis.close();
//关闭连接池
pool.close();
}

二、连接 redis 集群

/**
* jedis 连接 redis 集群
* @throws Exception
*/
@Test
public void test3() throws Exception{
//创建一个 JedisCluster 对象(单例)。有一个参数 nodes,是一个 set 类型。set 中包含若干个 HostAndPort 对象
Set<HostAndPort> nodes = new HashSet();
nodes.add(new HostAndPort("192.168.25.128", 7001));
nodes.add(new HostAndPort("192.168.25.128", 7002));
nodes.add(new HostAndPort("192.168.25.128", 7003));
nodes.add(new HostAndPort("192.168.25.128", 7004));
nodes.add(new HostAndPort("192.168.25.128", 7005));
nodes.add(new HostAndPort("192.168.25.128", 7006));
JedisCluster jedisCluster = new JedisCluster(nodes);
//直接使用 JedisCluster对象操作 redis。(JedisCluster 自带连接池,不用关闭)
jedisCluster.set("b", "123");
String str = jedisCluster.get("b");
System.out.println(str);
//系统关闭之前,关闭 JedisCluster
jedisCluster.close();
}

三、开发过程中用单机版,实际才用集群版