Loading... ### Jedis高版本JedisPoolConfig配置详解 在高版本的Jedis中,`JedisPoolConfig`已经不再包含 `maxActive`和 `maxWait`属性。相应地,这些属性已经被替换为了其他名称和新的配置方式。本文将详细解释这些变化,并提供如何在高版本Jedis中进行正确配置的指导。 ![](https://www.8kiz.cn/usr/uploads/2024/07/35231683.png) #### 一、JedisPoolConfig属性变化 在高版本的Jedis中,`maxActive`和 `maxWait`属性被分别替换为 `maxTotal`和 `maxWaitMillis`。以下是这些属性的详细介绍: 1. **maxTotal**:该属性用于替代 `maxActive`,用于设置连接池中最大连接数。 2. **maxWaitMillis**:该属性用于替代 `maxWait`,用于设置连接池获取连接时的最大等待时间(毫秒)。 此外,Jedis的连接池配置中还有其他重要属性: - **minIdle**:连接池中最小空闲连接数。 - **maxIdle**:连接池中最大空闲连接数。 - **testOnBorrow**:从连接池中获取连接时是否进行有效性检查。 - **testOnReturn**:将连接返回给连接池时是否进行有效性检查。 - **testWhileIdle**:连接空闲时是否进行有效性检查。 #### 二、示例代码 以下是一个配置高版本Jedis的示例代码: ```java 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**: - 配置连接池中最大连接数,防止过多连接占用资源。 ```java poolConfig.setMaxTotal(50); ``` 2. **MaxIdle**: - 设置连接池中最大空闲连接数,确保即使在高负载时也能及时提供可用连接。 ```java poolConfig.setMaxIdle(10); ``` 3. **MinIdle**: - 设置连接池中最小空闲连接数,保持足够的空闲连接以应对突发请求。 ```java poolConfig.setMinIdle(5); ``` 4. **MaxWaitMillis**: - 设置获取连接时的最大等待时间(毫秒),防止客户端长时间等待而阻塞。 ```java poolConfig.setMaxWaitMillis(2000); ``` 5. **TestOnBorrow**: - 从连接池中获取连接时进行有效性检查,确保连接可用。 ```java poolConfig.setTestOnBorrow(true); ``` 6. **TestOnReturn**: - 将连接返回连接池时进行有效性检查,确保返回的连接是健康的。 ```java poolConfig.setTestOnReturn(false); ``` 7. **TestWhileIdle**: - 连接空闲时进行有效性检查,避免因空闲连接失效而影响使用。 ```java poolConfig.setTestWhileIdle(true); ``` ### 思维导图 ```plaintext +------------------------------------------------------+ | 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。 最后修改:2024 年 07 月 22 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏