redis使用十几小时就一直报异常
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:22)
at com.derbysoft.jredis.longkeytest.BorrowObject.run(BorrowObject.java:22)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1134)
at redis.clients.util.Pool.getResource(Pool.java:20)
原因是没有回收资源导致
正确的做法是
ShardedJedis jedis = shardedJedisPool.getResource();
try {
jedis.set(key, value);
} finally {
shardedJedisPool.returnResource(jedis);
}
分享到:
相关推荐
前些天用多线程执行操作测试验证vanyar-redis连接池,应用是刚重启的状态,执行操作是,开启10个线程同时执行10000次操作。 如下: 执行操作完毕后发现控制台输出9个下面错误信息: 该错误大致意思是说:不能将...
- 使用连接池(如JedisPool)管理Redis连接,提高资源利用率和系统性能。 10. **Spring Data Redis集成** - Spring框架提供了Spring Data Redis模块,简化了Redis与Spring应用的集成,提供了Repository支持。 ...
接下来,配置文件`application.yml`中,我们可以使用Redis的默认配置,如果需要自定义配置,例如连接池、密码等,可以按需添加。 在应用中启用Spring Cache,我们需要创建一个配置类,该类使用`@EnableCaching`注解...
在调试过程中,启用Spring Boot的日志可以帮助你获取更详细的错误信息,例如增加`logging.level.org.springframework.data.redis=DEBUG`来查看更详细的Redis连接日志。 在项目`springboot-movie-master`中,你可能...
对于许多应用程序,最好使用连接池。实例化 Jedis 连接池: JedisPool pool = new JedisPool("localhost", 6379); 以下是如何在try-with-resources块中运行单个SET命令: try (Jedis jedis = pool.getResource()) {...
具有支持的自动连接池。 。 。 和 。 。 。 。 。 不使用集群模式和Redis Sentinel 集群。 。 。 安装 go-redis支持2个最新的Go版本,并且需要具有支持的Go版本。 因此,请确保初始化Go模块: go mod ...
创建Session管理器需要配置Redis连接信息、Session超时时间、Session保存方式等参数。 在TongWeb V7.0 中,TongWeb-MQ是消息队列系统,用于实现消息队列的存储和管理。TongWeb-MQ使用说明详细介绍了TongWeb-MQ的...
#3191 修复 json-rpc 客户端因对端服务重启,导致连接池中的连接全部失效,新的请求进来时,首次使用皆会报错的问题。 新增 #3170 为 hyperf/watcher 组件新增了更加友好的驱动器 FindNewerDriver,支持 Mac Linux...
- 性能优化:合理设置连接池大小和命令批处理,以提升整体性能。 - 错误处理:务必处理可能出现的网络异常和解析错误,避免程序崩溃。 5. **实例应用** - 缓存管理:通过libHiredis.fne,易语言程序可以轻松地将...
数据库连接池 + DAO框架,MyBatis依赖。Servlet web。jsp 等。Spring。主要是 Spring 相关的依赖。全部依赖参考 pom.xml。4 业务实现4.1 数据库建表秒杀库存表秒杀成功明细表创建 seckill表时,end_time字段默认值为...
Shiro安全框架可以与Druid数据连接池集成,提供数据库访问的安全控制。在配置中指定Druid的数据源。 8. **MySQL分页查询**: 使用LIMIT和OFFSET实现分页,例如`SELECT * FROM table LIMIT start, length`。对于更...
同时,根据实际负载调整 twemproxy 的配置,如连接池大小、超时设置等,以达到最佳性能。 总之,通过 Laravel 开发中的 twemproxy 集成,开发者可以充分利用缓存代理的优势,提高应用的响应速度和可扩展性。了解并...
- 使用缓存层,如Redis,作为数据库前端,以缓冲突如其来的连接请求,降低对数据库的压力。 - 调整应用程序逻辑,避免短时间内的大量并发连接。 - 定期检查和更新网络安全策略,防止恶意攻击。 **总结** 面对MySQL...
- **数据库**:SQL查询优化、事务、索引、连接池等。 - **中间件**:如消息队列(MQ)、缓存系统(如Redis)以及负载均衡等。 理解和掌握这些知识点,能够帮助Java工程师在面试中展现出扎实的基础和全面的技术视野...
Druid | 数据库连接池 | [https://github.com/alibaba/druid](https://github.com/alibaba/druid) FluentValidator | 校验框架 | [https://github.com/neoremind/fluent-validator]...