一、概述
Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此推荐使用Jedis连接池代替Jedis的直连方式。
二、创建连接池
java
public class JedisConnectionFactory {
private static final JedisPool jedisPool;
static {
//配置连接池
JedisPoolConfig poolConfig = new JedisPoolConfig();
//配置最大连接
poolConfig.setMaxTotal(8);
//配置最大空闲连接
poolConfig.setMaxIdle(8);
//配置最小空闲连接
poolConfig.setMinIdle(0);
//配置最大等待时间
poolConfig.setMaxWaitMillis(1000);
//创建连接池对象
jedisPool = new JedisPool(poolConfig,"192.168.21.131",6379,1000,"123321");
}
public static Jedis getJedis(){
return jedisPool.getResource();
}
}
静态代码块:随着类的加载而执行,而且只执行一次。执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员。
三、使用连接池
java
@BeforeEach
void setUp(){
//建立连接
//jedis = new Jedis("192.168.21.131",6379);
jedis = JedisConnectionFactory.getJedis();
//设置密码
jedis.auth("123321");
//选择库
jedis.select(0);
}