连接Redis的两种方式
当连接远程或虚拟机中的Redis时,可能报如下异常:
redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException:Connection refuse
解决见https://blog.csdn.net/qq_37964379/article/details/103100343
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisDemo1 {
@Test
/**
* 单实例的测试
*/
public void demo1() {
// 1.设置IP地址和端口
Jedis jedis = new Jedis("192.168.9.133", 6379);
// 2.保存数据
jedis.set("name", "minghai");
// 3.获取数据
String string = jedis.get("name");
System.out.println(string);
// 4.释放资源
jedis.close();
}
@Test
/**
* 使用连接池的方式连接
*/
public void demo2() {
// 获取连接池的对象
JedisPoolConfig config = new JedisPoolConfig();
// 设置最大连接数
config.setMaxIdle(30);
// 设置最大空闲数
config.setMaxIdle(10);
// 获得连接池:
JedisPool jedisPool = new JedisPool(config, "192.168.9.133",6379);
// 获取核心对象
Jedis jedis = null;
try {
// 通过连接池获得连接
jedis = jedisPool.getResource();
// 设置数据
jedis.set("name","张三");
// 获取数据
String value = jedis.get("name");
System.out.println(value);
}catch (Exception e) {
// TODO: handle exception
}finally {
// 释放资源
if(jedis != null) {
jedis.close();
}
if(jedisPool != null) {
jedisPool.close();
}
}
}
}