Jedis核心逻辑
2023-05-05 15:56:20 0 举报
jedis核心处理逻辑
作者其他创作
大纲/内容
销毁超时的空闲连接(默认30分钟)
连接池泄露bug原因连接的datasource可能会被多个线程修改,但并未加锁,存在线程安全问题
是
否
关闭连接(仍然会存在全量连接池)
创建新连接
归还连接
空闲连接销毁
是否成功获取连接
获取连接
空闲连接池是否有连接
连接是否有数据源(datasource不为空)
遍历部分连接(默认3个)
结束
抛出异常连接池耗尽
尝试从空闲连接池获取
连接放入空闲连接池
有数据源
连接数是否超过maxTotal
空闲连接销毁流程(单独线程执行)
为空
销毁连接
连接池中的连接数是否大于maxIdle
连接池核心组件idleObjects: 空闲连接池allObjects: 全量连接池
数据源设置为当前数据源(设置datasource)
获取连接流程
数据源设置为空(datasource)
归还连接流程
收藏
0 条评论
下一页