0

我对 NHibernate 和 Npgsql (PostgreSQL DB) 中的池化机制有一些误解。

它实际上是如何工作的?我可以在数据库连接字符串中设置“pooling=true”参数。实际上将在哪一侧进行池化:NHibernate 还是 PostgreSql?据我所知,PostgreSql 9.2 没有自己的池机制,在这种情况下池将如何工作?我还可以在 DB 连接字符串中指定“MinPoolSize”和“MaxPoolSize”参数。这些参数是什么意思?何时实际创建新连接(或在“pooling = true”的情况下从池中获取)?当我打开一个新的 NHibernate 会话或者它不依赖于打开/关闭会话时?

4

1 回答 1

1

NHibernate 不管理(也不真正关心)连接池。这是一些 ADO.Net 提供程序的功能。服务器也不必参与,因为任何具有足够复杂性的客户端都可以实现自己的连接池。毕竟,这只是保持一些备用连接打开的问题。

我相信这是在 Npgsql 中实现的。

于 2012-12-11T20:13:25.897 回答