一、概述
Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此推荐使用Jedis连接池代替Jedis的直连方式。
二、创建连接池
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修饰的数据成员。
三、使用连接池
@BeforeEach
void setUp(){//建立连接//jedis = new Jedis("192.168.21.131",6379);jedis = JedisConnectionFactory.getJedis();//设置密码jedis.auth("123321");//选择库jedis.select(0);
}