注:使用的jar包:
一、不使用连接池
1、test class
package com.test;
import org.junit.jupiter.api.Test;
import com.utils.ConnectUtils;
import redis.clients.jedis.Jedis;
public class MyTest {
private Jedis jedis;
@Test
public void test01() {
String host = "127.0.0.1";
int port = 6379;
Jedis jedis = new Jedis(host, port);
jedis.auth("123456");
jedis.set("id", "1");
jedis.set("name", "张三");
jedis.set("age", "20");
String id = jedis.get("id");
String age = jedis.get("age");
String name = jedis.get("name");
System.out.println("id = " + id);
System.out.println("age = " + age);
System.out.println("name = " + name);
}
}
二、使用连接池
1、utils class
package com.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class ConnectUtils {
private static JedisPoolConfig config;
private static JedisPool jedisPool;
/**
* 连接redis
* @param ip redis的绑定的ip地址
* @param port redis启动服务时的端口号
*/
public static Jedis open(String host, int port) {
if (config == null) {
//创建redis连接池配置对象
config = new JedisPoolConfig();
//设置连接池连接最大等待时间
config.setMaxWaitMillis(0);
//设置连接池中的最大连接资源数
config.setMaxTotal(30);
//设置连接池中最大的空闲连接资源数
config.setMaxIdle(2);
}
if (jedisPool == null) {
//创建redis连接池
jedisPool = new JedisPool(config, host, port);
}
//从redis连接池中或取连接资源
Jedis jedis = jedisPool.getResource();
//返回jedis对象
return jedis;
}
/**
* 关闭jedis连接资源
*/
public static void close(Jedis jedis) {
if (jedis != null) {
jedis.close();
}
}
}
2、test class
package com.test;
import org.junit.jupiter.api.Test;
import com.utils.ConnectUtils;
import redis.clients.jedis.Jedis;
public class MyTest {
private Jedis jedis;
@Test
public void test02() {
try {
//定义redis连接要素
String host = "127.0.0.1";
int port = 6379;
//判断jedis是否为空
if (jedis == null) {
jedis = ConnectUtils.open(host, port);
}
//密码登录redis
jedis.auth("123456");
//使用jedis
jedis.set("id", "2");
jedis.set("name", "李四");
jedis.set("age", "24");
//从redis数据库中获取数据
String id = jedis.get("id");
String age = jedis.get("age");
String name = jedis.get("name");
//打印获取到的redis数据
System.out.println("id = " + id);
System.out.println("age = " + age);
System.out.println("name = " + name);
} finally {
ConnectUtils.close(jedis);
}
}