【发布时间】:2012-06-19 18:02:07
【问题描述】:
我正在使用 perl 脚本,它每 5 分钟将记录插入数据库。现在,当有大量可用数据时,与数据库建立的连接数量可能会增加,从而浪费我宝贵的资源。所以我希望连接池机制与 perl 一起工作。我使用 postgresql 作为我的数据库。我用谷歌搜索了一些解决方案,例如i found such solutions but they didnot work for me
谁能告诉我如何在 perl 中实现连接池?
提前致谢。
【问题讨论】:
-
如果经常使用也可以保持长连接。
-
您发布的链接中的内容仅在您使用 mod_perl 时才有效。如果使用cronjob(假设)每5分钟插入一次数据,为什么连接数会增加?有这么多数据,5 分钟还不够吗?如果是这样,请考虑只要脚本仍在运行就不要启动它。让它完成第一批,然后开始下一批。
-
@vjshah :这就是我要问的。我不知道该怎么做。
-
@simbabque :我没有将它作为 cronjob 执行。我称之为我的愿望。每次调用脚本时都会创建连接并在执行后将其释放但可能一次有数百个脚本实例同时运行所以我想实现一个有效的连接池机制来限制连接数制作到数据库中。
-
我很确定您不能在不同进程之间共享 DBI 实例/dbh。不过,您也许可以用叉子实现它。看看stackoverflow.com/questions/874434/…。仍然很有趣,它需要这么长时间。也许有办法优化它,让它运行得更快?
标签: perl postgresql connection-pooling dbi