配置Jedis连接池

一、概述

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);
}
相关推荐
WX-bisheyuange2 小时前
基于Spring Boot的民宿预定系统的设计与实现
java·spring boot·后端·毕业设计
码界奇点2 小时前
Java设计模式精讲从基础到实战的常见模式解析
java·开发语言·设计模式·java-ee·软件工程
q***9443 小时前
springboot接入deepseek深度求索 java
java·spring boot·后端
诗9趁年华3 小时前
深入分析线程池
java·jvm·算法
百***06013 小时前
SpringBoot的@Scheduled和@Schedules有什么区别
java·spring boot·spring
喵了几个咪4 小时前
使用Bazel构建你的Kratos微服务
java·运维·微服务
千寻技术帮4 小时前
50022_基于微信小程序同城维修系统
java·mysql·微信小程序·小程序·同城维修
野蛮人6号4 小时前
黑马八股笔记
java
Charles_go4 小时前
41、C#什么是单例设计模式
java·设计模式·c#
皮皮林5515 小时前
别再只会 mvn install 了!深入拆解 Maven 插件核心原理
java·maven