把jedis放回连接池什么用

来源:6-4 Redis连接池构建与测试-2

慕粉4192055

2017-12-28

老师您好,这节课中的main方法测试redis连接池的代码中,不写放回连接池returnResource(jedis)
这一句也能测试成功,那写上这一句什么用呢?迷惑,求解答,谢谢老师。

    public static void main(String[] args) {

        Jedis jedis = pool.getResource();

        jedis.set("geelykey","geelyvalue");

        returnResource(jedis);

        pool.destroy();

        System.out.println("program is end");

    }


写回答

2回答

反正没谁懂

2017-12-29

连接池中jedis的数量是有限的,用完了不还 连接池很快就会被耗尽 新来的请求就得不到jedis实例 被阻塞抛出异常。就像你执行依据sql,执行完要关闭连接是一个道理,只是现在这些你使用的mybatis这类ORM框架都帮你做了

1
1
慕粉4192055
非常感谢!
2018-01-02
共1条回复

Geely

2017-12-30

你好,同学,是这样的,不写returnResource也是ok的,这里就是一个健壮性的问题。如果你一直不放回连接池,那么后续连接池满了,又没有被jvm回收,就无法创建新的连接,就会导致系统崩溃。连接redis都连不上了。

@反正没谁懂 同学回答的是正确的。

0
0

Java企业级电商项目架构 Tomcat集群与Redis分布式

Tomcat集群+Redis分布式+代码重构+源码原理解析

2685 学习 · 947 问题

查看课程