Jedis高版本的JedisPoolConfig没有maxActive和maxWait

简介: 在高版本的Jedis中,连接池配置属性发生了一些变化。通过使用 `JedisPoolConfig`中的新属性,可以更好地管理和优化Redis连接池。本指南提供了详细的配置方法和示例代码,帮助开发者快速上手并正确配置Jedis连接池。希望本文对您有所帮助,能够在项目中高效地使用Jedis与Redis。

Jedis高版本JedisPoolConfig配置详解

在高版本的Jedis中,JedisPoolConfig已经不再包含 maxActive和 maxWait属性。相应地,这些属性已经被替换为了其他名称和新的配置方式。本文将详细解释这些变化,并提供如何在高版本Jedis中进行正确配置的指导。

一、JedisPoolConfig属性变化

在高版本的Jedis中,maxActive和 maxWait属性被分别替换为 maxTotal和 maxWaitMillis。以下是这些属性的详细介绍:

  1. maxTotal:该属性用于替代 maxActive,用于设置连接池中最大连接数。
  2. maxWaitMillis:该属性用于替代 maxWait,用于设置连接池获取连接时的最大等待时间(毫秒)。

此外,Jedis的连接池配置中还有其他重要属性:

  • minIdle:连接池中最小空闲连接数。
  • maxIdle:连接池中最大空闲连接数。
  • testOnBorrow:从连接池中获取连接时是否进行有效性检查。
  • testOnReturn:将连接返回给连接池时是否进行有效性检查。
  • testWhileIdle:连接空闲时是否进行有效性检查。

二、示例代码

以下是一个配置高版本Jedis的示例代码:

import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisConfigExample {

    public static void main(String[] args) {
        // 创建JedisPoolConfig对象
        JedisPoolConfig poolConfig = new JedisPoolConfig();

        // 配置连接池属性
        poolConfig.setMaxTotal(50); // 替代maxActive
        poolConfig.setMaxIdle(10);
        poolConfig.setMinIdle(5);
        poolConfig.setMaxWaitMillis(2000); // 替代maxWait
        poolConfig.setTestOnBorrow(true);
        poolConfig.setTestOnReturn(false);
        poolConfig.setTestWhileIdle(true);

        // 创建JedisPool
        JedisPool jedisPool = new JedisPool(poolConfig, "localhost", 6379);

        // 使用JedisPool获取连接并执行操作
        try (var jedis = jedisPool.getResource()) {
            jedis.set("key", "value");
            System.out.println("Stored string in redis:: "+ jedis.get("key"));
        }

        // 关闭JedisPool
        jedisPool.close();
    }
}
​

三、配置详解

  1. MaxTotal:

    • 配置连接池中最大连接数,防止过多连接占用资源。
    poolConfig.setMaxTotal(50);
    ​
    
  2. MaxIdle:

    • 设置连接池中最大空闲连接数,确保即使在高负载时也能及时提供可用连接。
    poolConfig.setMaxIdle(10);
    ​
    
  3. MinIdle:

    • 设置连接池中最小空闲连接数,保持足够的空闲连接以应对突发请求。
    poolConfig.setMinIdle(5);
    ​
    
  4. MaxWaitMillis:

    • 设置获取连接时的最大等待时间(毫秒),防止客户端长时间等待而阻塞。
    poolConfig.setMaxWaitMillis(2000);
    ​
    
  5. TestOnBorrow:

    • 从连接池中获取连接时进行有效性检查,确保连接可用。
    poolConfig.setTestOnBorrow(true);
    ​
    
  6. TestOnReturn:

    • 将连接返回连接池时进行有效性检查,确保返回的连接是健康的。
    poolConfig.setTestOnReturn(false);
    ​
    
  7. TestWhileIdle:

    • 连接空闲时进行有效性检查,避免因空闲连接失效而影响使用。
    poolConfig.setTestWhileIdle(true);
    ​
    

思维导图

+------------------------------------------------------+
|         Jedis高版本JedisPoolConfig配置详解            |
+------------------------------------------------------+
           |
           +-----------------------------+
           | 一、属性变化                 |
           | 1. maxTotal(替代maxActive)|
           | 2. maxWaitMillis(替代maxWait)|
           +-----------------------------+
           |
           +-----------------------------+
           | 二、示例代码                 |
           | 1. 创建JedisPoolConfig       |
           | 2. 设置连接池属性            |
           | 3. 创建JedisPool             |
           | 4. 获取连接并执行操作        |
           | 5. 关闭JedisPool             |
           +-----------------------------+
           |
           +-----------------------------+
           | 三、配置详解                 |
           | 1. MaxTotal                  |
           | 2. MaxIdle                   |
           | 3. MinIdle                   |
           | 4. MaxWaitMillis             |
           | 5. TestOnBorrow              |
           | 6. TestOnReturn              |
           | 7. TestWhileIdle             |
           +-----------------------------+
​

四、总结

在高版本的Jedis中,连接池配置属性发生了一些变化。通过使用 JedisPoolConfig中的新属性,可以更好地管理和优化Redis连接池。本指南提供了详细的配置方法和示例代码,帮助开发者快速上手并正确配置Jedis连接池。希望本文对您有所帮助,能够在项目中高效地使用Jedis与Redis。

目录
相关文章
|
XML Android开发 数据格式
IDEA代码格式和JavaDoc设置,一键告别丑陋代码
IDEA代码格式和JavaDoc设置,一键告别丑陋代码
2653 1
IDEA代码格式和JavaDoc设置,一键告别丑陋代码
|
NoSQL 网络协议 数据库
为什么 Lettuce 会带来更长的故障时间
本文详述了阿里云数据库 Tair/Redis 将使用长连接客户端在非预期故障宕机切换场景下的恢复时间从最初的 900s 降到 120s 再到 30s的优化过程,涉及产品优化,开源产品问题修复等诸多方面。
72184 11
为什么 Lettuce 会带来更长的故障时间
|
Java 测试技术 数据库
使用Spring的@Retryable注解进行自动重试
在现代软件开发中,容错性和弹性至关重要。Spring框架提供的`@Retryable`注解为处理瞬时故障提供了一种声明式、可配置的重试机制,使开发者能够以简洁的方式增强应用的自我恢复能力。本文深入解析了`@Retryable`的使用方法及其参数配置,并结合`@Recover`实现失败回退策略,帮助构建更健壮、可靠的应用程序。
1299 1
使用Spring的@Retryable注解进行自动重试
|
7月前
|
人工智能 自然语言处理
上下文长度是什么意思?AI大模型128k、256k和1M上下文长度是什么概念?
上下文长度指大模型单次处理的最大Token数,涵盖输入与输出。如Qwen、DeepSeek等支持128K(约16万汉字)、256K乃至1M上下文,直接影响长文档理解、多轮对话与代码分析能力。阿里云百炼/通义平台提供详细参数与阶梯计费
17253 3
|
9月前
|
XML IDE Java
Spring Boot 4 王炸新特性:Bean 注册新姿势 BeanRegistrar,少写一半代码
Spring Boot 4 正式推出 `BeanRegistrar`——动态注册 Bean 的终极解法!告别冗长 `@Bean` + `@Conditional` 套娃,12 行代码精准按配置注册(如 Email/SMS),启动仅加载所需 Bean,性能提升、可读性飙升。从“声明”迈向“编程式容器”,减负不止 50%。
676 2
|
12月前
|
人工智能 IDE Java
IntelliJ IDEA 2025.1 完整安装指南:激活 + 中文设置 + 全程丝滑 附安装包
IntelliJ IDEA 2025.1 发布,全面支持 Java 24、默认启用 Kotlin K2 模式,增强 Scala 3 支持。AI 助手免费使用,支持 GPT-4.1、Claude 3.7 等云模型,提升代码补全与多文件编辑能力。调试、终端架构及 Markdown 预览搜索等功能全面优化,开发体验更高效流畅。
10222 3
IntelliJ IDEA 2025.1 完整安装指南:激活 + 中文设置 + 全程丝滑 附安装包
|
人工智能 API 决策智能
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
【7月更文挑战第8天】智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
22927 134
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐

热门文章

最新文章