配置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);
}
相关推荐
青山师1 分钟前
CompletableFuture深度解析:异步编程范式与源码实现
java·单例模式·面试·性能优化·并发编程
AI人工智能+电脑小能手2 分钟前
【大白话说Java面试题 第42题】【JVM篇】第2题:JVM内存模型有哪些组成部分?
java·开发语言·jvm·面试
AI人工智能+电脑小能手9 分钟前
【大白话说Java面试题 第43题】【JVM篇】第3题:GC分为哪两种?Young GC 和 Full GC有什么区别?
java·开发语言·jvm·后端·面试
努力努力再努力wz10 分钟前
【Redis 入门系列】为什么需要 Redis?一文串起缓存、分布式、读写分离、分库分表与微服务
数据库·redis·分布式·sql·mysql·缓存·微服务
Carino_U12 分钟前
并发编程之CPU缓存架构&Disruptor
java·缓存·架构
小雅痞19 分钟前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
ooseabiscuit25 分钟前
Laravel6.x新特性全解析
java·开发语言·后端·mysql·spring
青山师27 分钟前
Java内存模型深度解析:Happens-Before规则与内存屏障实现原理
java·spring·面试·职场和发展·java程序员·jmm
Seven9731 分钟前
万字长文背诵最新Agent常见试题
java
XiYang-DING32 分钟前
【Java EE】网络通信中的 4 种交互模式
java·java-ee·交互