配置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);
}
相关推荐
wangbing112524 分钟前
使用jps jstack排查系统问题
java
于指尖飞舞30 分钟前
java面试题总结
java·开发语言
ZealSinger1 小时前
LangChain4j用AiServices拼Tool
java·rag·ai智能体·langchain4j
vx_Biye_Design1 小时前
springboot高校选课系统82776-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
Sweet锦2 小时前
不调 Python,不装向量库:我用纯 Java 写了一套以图搜图引擎
java·人工智能·开源·图搜索
如意猴3 小时前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法
可乐鸡翅yeah_3 小时前
HLS 分片过期清理,直播旧 TS 分片磁盘爆满问题处理
java·后端·spring·m3u8·m3u8在线·音视频在线播放
专业程序开发源4 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
用户094248568034 小时前
第23章:OpenJDK逃逸分析、标量替换与锁优化
java·jvm
wuminyu4 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++