JedisPoolConfig config = new JedisPoolConfig();
//连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
config.setBlockWhenExhausted(true);
//设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)
config.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");
//是否启用pool的jmx管理功能, 默认true
config.setJmxEnabled(true);
//MBean ObjectName = new ObjectName("org.apache.commons.pool2:type=GenericObjectPool,name=" + "pool" + i); 默认为"pool", JMX不熟,具体不知道是干啥的...默认就好.
config.setJmxNamePrefix("pool");
//是否启用后进先出, 默认true
config.setLifo(true);
//最大空闲连接数, 默认8个
config.setMaxIdle(8);
//最大连接数, 默认8个
config.setMaxTotal(8);
//获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1
config.setMaxWaitMillis(-1);
//逐出连接的最小空闲时间 默认1800000毫秒(30分钟)
config.setMinEvictableIdleTimeMillis(1800000);
//最小空闲连接数, 默认0
config.setMinIdle(0);
//每次逐出检查时 逐出的最大数目 如果为负数就是 : 1/abs(n), 默认3
config.setNumTestsPerEvictionRun(3);
//对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断 (默认逐出策略)
config.setSoftMinEvictableIdleTimeMillis(1800000);
//在获取连接的时候检查有效性, 默认false
config.setTestOnBorrow(false);
//在空闲时检查有效性, 默认false
config.setTestWhileIdle(false);
//逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
config.setTimeBetweenEvictionRunsMillis(-1);
JedisPool pool = new JedisPool(config, "localhost");
分享到:
相关推荐
使用`JedisPool`和`JedisPoolConfig`类,可以配置和管理连接池,如最大连接数、空闲连接保持时间等。 5. **pipeline和事务的批量操作**:Jedis的`pipeline`功能允许将多个命令打包并一次性发送到Redis服务器,减少...
如果使用连接池,可以使用`JedisPoolConfig`配置连接池参数,并通过`JedisPool`获取连接。 2. **执行命令**:一旦连接建立,你可以使用Jedis实例上的各种方法执行Redis命令。例如,使用`set(key, value)`存储键值对...
在这个案例中,commons-pool2-2.4.2.jar是Jedis连接池的依赖,它为Jedis提供了一个连接管理框架,确保高效地管理和重用Jedis实例。 4. Jedis连接池配置: 使用Jedis时,可以通过连接池来管理连接,例如使用`...
然后,在Java代码中初始化Jedis实例并设置连接池配置: ```java import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class RedisClient { private static JedisPool ...
在性能优化上,Jedis支持连接池(Connection Pool),通过复用已建立的连接,减少创建和销毁连接的开销。同时,Jedis提供了批量操作(pipelining)功能,可以一次性发送多个命令,减少网络延迟,提高性能。 在使用...
6. **连接池管理**:在生产环境中,通常会使用JedisPool来管理连接,提高性能和资源利用率: ```java JedisPoolConfig poolConfig = new JedisPoolConfig(); JedisPool pool = new JedisPool(poolConfig, ...
在Java代码中,可以通过以下步骤创建并使用Jedis连接池: 1. 引入Jedis和Commons Pool的依赖: ```java import redis.clients.jedis.Jedis; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; ``...
接着,使用`JedisPool`构造函数初始化连接池,传入配置和Redis服务器的地址信息。在需要使用Redis时,从池中借用一个Jedis实例,执行完操作后归还回池,而不是直接关闭连接。这样,连接池会自动管理这些连接,确保在...
在Jedis中,Commons Pool 2.4.2用于实现连接池管理,提高并发性能和资源利用率。 1. **对象池设计**:Pool2提供了一个灵活的对象池接口,可以根据不同需求定制池化策略。 2. **线程安全**:池化对象的获取和释放是...
在这个主题中,我们将深入探讨`jedis-2.9.0.jar`和`commons-pool2-2.4.2.jar`这两个jar包在Redis连接池中的作用。 `jedis-2.9.0.jar`是Jedis的特定版本,它是Java开发人员连接和操作Redis的主要库。Jedis提供了丰富...
在使用Jedis时,首先需要配置Jedis实例,包括设置Redis服务器的IP地址、端口、密码(如果有的话),以及连接池的相关参数。然后,你可以通过Jedis对象执行各种Redis命令,例如`set`和`get`操作来存取字符串,`hset`...
5. **Connection Pooling**: 提供连接池管理,便于在多线程环境中高效地重用连接,减少资源消耗。 6. **Sentinel Support**: 能够与Redis Sentinel配合,实现主从切换和故障恢复。 7. **Cluster Support**: Jedis ...
同时,为了更好地管理Jedis实例,需要引入`commons-pool2-2.4.2-bin.zip`解压后的jar文件,配置连接池参数,如最大连接数、最大空闲连接数等。 总的来说,Jedis 2.9.0版本是Java开发者连接和操作Redis数据库的重要...
在实际应用中,配置合理的连接池参数(如最大连接数、空闲连接数、超时时间等)也是至关重要的,这直接影响到系统的性能和稳定性。 总结起来,"最新redis架包jedis-2.9.0.jar和commons-pool2-2.4.2.jar"提供了高效...
以下是一个简单的示例代码,展示如何配置和使用Jedis连接池: ```java import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class RedisClient { private static Jedis...
2. **连接池初始化**:在应用程序启动时,开发者需要创建一个`JedisPoolConfig`实例,并根据应用需求进行配置,然后使用这个配置创建`JedisPool`实例。 3. **获取和释放连接**:在需要操作Redis时,通过`JedisPool`...
`commons-pool2`库提供了`GenericObjectPool`类,可以自定义配置连接池参数,如最大活动连接数、最大空闲连接数、超时时间等。 3. **集成与使用**: 在Java项目中使用Jedis时,需要将这两个jar包添加到项目的类...
在实际应用中,`commons-pool2-2.4.2.jar` 与 `jedis-2.9.0.jar` 的结合使用,可以创建一个Redis连接池,以提高应用程序的性能和并发能力。通过使用Jedis的连接池,开发者可以在需要时从池中获取Redis连接,使用完毕...
在使用Jedis时,开发者需要了解如何配置和管理连接池,如何正确地执行命令,以及如何处理可能出现的异常。例如,使用Jedis的`pool.getResource()`获取连接,`connection.set(key, value)`设置键值,`connection....
这个版本的Jedis提供了连接池功能,通过/commons-pool.jar库实现了资源的高效管理,避免了频繁创建和销毁连接带来的性能损耗。 首先,我们需要在项目中引入Jedis-2.1.0.jar和commons-pool.jar这两个库。在Maven项目...