jedis以common-pool的GenericObjectPool来管理与redis的连接池
创建JedisPool对象时需传入管理连接池的相关参数,各参数的含义请参考common-pool的相关参数。
config.minIdle=url.getParameter("minIdle", 3);
config.maxIdle=url.getParameter("maxIdle",5);
config.maxActive=url.getParameter("maxActive",10);
config.maxWait=url.getParameter("maxWait",10000);
//----------------------------
config.testOnBorrow=url.getParameter("testOnBorrow", true);
config.testWhileIdle=url.getParameter("testWhileIdle",true);
config.timeBetweenEvictionRunsMillis=url.getParameter("timeBetweenEvictionRunsMillis",120*1000l);
config.testOnReturn=url.getParameter("testOnReturn",false);
//
config.minEvictableIdleTimeMillis=url.getParameter("minEvictableIdleTimeMillis", 300*1000l);
//
config.whenExhaustedAction=(byte)url.getParameter("whenExhaustedAction",1);
config.numTestsPerEvictionRun=url.getParameter("numTestsPerEvictionRun",10);
jedisPool=new JedisPool(config, host, port, timeout,password);
(1)有借有还
(2)用完即还
(3)每还必验
(4)损有余,补不足
分享到:
相关推荐
**Jedis源码详解——深度探索Redis Java客户端** 在Java开发中,Jedis是与Redis进行交互的常用客户端库,它提供了丰富的API用于操作Redis的数据结构。本文将深入解析Jedis的源码,帮助开发者更好地理解和使用这个...
Jedis的使用通常始于创建Jedis实例,通过连接池管理连接。在源码中,你可以看到`JedisPool`和`JedisPoolConfig`类,它们负责资源的管理和配置。使用`Jedis`对象执行命令,如`set`、`get`、`hset`、`lpush`等,以...
JedisPool类实现了连接池的创建、获取和归还连接的逻辑,确保了资源的有效利用。 三、命令执行机制 Jedis通过CommandExecutor接口实现命令的发送和接收。命令通过CommandProtocol类转化为二进制数据,然后通过...
1. **连接管理**:Jedis提供了连接池功能,通过`JedisPool`和`JedisPoolConfig`类来管理和配置连接池。连接池可以有效地复用连接,减少创建和销毁连接的开销,提高系统性能。 2. **命令执行**:Jedis封装了大量的...
3. **连接池**:Jedis支持连接池管理,可以有效地复用连接,提高性能。 4. **Pipeline和事务**:通过Pipeline技术,可以批量发送命令并减少网络延迟;同时,Jedis也支持Redis的事务功能,确保一系列操作的原子性。 5...
5. **异常处理**:Jedis源码中包含了丰富的异常处理,确保在出现错误时能够及时捕获并处理。 **四、Jedis的使用示例** 1. **连接Redis**: ```java Jedis jedis = new Jedis("localhost"); ``` 2. **设置和...
分析了redis的: 1)java客户端实现源码 2)分析了连接channel,包括命令时客户端和服务端的socket连接;...3)分析了JedisPool连接池配置 4) 分析了命令get set hmset 等逻辑 5)分析了subscribe实现源码
2. **连接池管理**:Jedis 提供了连接池功能,允许开发者在多线程环境中有效地管理和复用连接,提高性能并减少资源消耗。 3. **线程安全**:Jedis 实例不是线程安全的,推荐每个线程使用单独的实例,或者在使用后...
在连接管理方面,Jedis支持连接池,这在高并发场景下尤为重要,可以有效地复用连接,提高系统性能。通过`JedisPool`和`JedisPoolConfig`类,用户可以配置和管理连接池,如设置最大连接数、最大空闲连接、超时时间等...
Jedis是Java语言中广泛使用的Redis客户端库,它提供了丰富的API来操作Redis数据存储。...学习Jedis源码不仅能提高编程技能,还能加深对Redis协议和工作原理的理解,是成为一名优秀的Java Redis开发者的重要步骤。
2. **连接池管理**:Jedis支持连接池,可以有效地复用连接,提高性能并减少资源消耗。 3. **异步操作**:Jedis还提供了异步API,可以在非阻塞模式下执行命令,提高程序的并发处理能力。 4. **命令分片**:在处理...
4. 关闭连接:操作完成后,记得关闭Jedis实例或释放连接池中的连接。 在实际应用中,还需要注意以下几点: - 错误处理:及时捕获并处理JedisException,确保程序健壮性。 - 数据类型转换:根据需求正确转换Redis...
jedis-2.9.0 源码项目工程 导入 eclipse 可直接运行 * 基本测试: src\redis\... * 连接池测试: src\redis\clients\jedis\tests\JedisPoolTest.java * 常用命令测试: src\redis\clients\jedis\tests\commands
1. **性能优化**:Jedis 2.6.2对连接池、命令执行等方面进行了优化,提高了数据读写的速度和整体系统的响应效率。这包括了更有效的连接管理和命令批处理,使得在高并发场景下,Jedis的表现更为出色。 2. **错误修复...
这包括了连接池的配置,例如使用`JedisPoolConfig`来定制连接池参数,以及如何通过`JedisPool`获取和归还Jedis实例。 2. **基本操作**:项目中包含了常见的Redis操作,如设置和获取键值(`set`和`get`),哈希操作(`...
在本主题中,我们将探讨Redis的源码解析以及哨片(Sentinel)系统和分片(Sharding)技术的实现,特别是它们如何与Java中的连接池相结合。 首先,让我们深入理解Redis的源码。Redis源码结构清晰,模块化设计良好,...
通过阅读源码,开发者可以了解到Jedis如何封装网络通信,如何处理各种Redis命令,以及它在处理并发和连接池方面有哪些优化措施。 最后,`jedis-3.0.0-javadoc.jar`是Jedis的API文档,它详细列出了每个类、接口和...
- 使用连接池管理连接,提高并发性能。 - 在多线程环境中,每个线程应有自己的Jedis实例,避免并发问题。 - 对于大量数据操作,考虑使用Redis的pipeline或transactions以减少网络延迟。 总之,Jedis 3.0.0提供了...
- 连接池管理:Jedis提供了连接池功能,允许多个客户端共享Redis连接,提高性能并优化资源利用。 - 命令接口:Jedis通过一系列方法封装了Redis命令,如`set`、`get`、`lpush`、`rpop`等,使得在Java应用中调用...
这包括`JedisPool`和`JedisPoolConfig`类,它们分别用于创建连接池和配置连接池参数。 2. **命令接口**:Jedis封装了Redis的所有命令,如`set`、`get`、`lpush`、`rpop`等,提供了简单易用的Java方法。开发者可以...