0

创建用Java制作的服务器。服务器在端口 111 上接受请求,当客户端连接到服务器时,向它发送一个 JSON 文件。服务器收到 JSON 然后他必须存储到 postgres 数据库中。

我的问题是如何管理 postgres 连接。

我应该只创建一个连接并为每个客户端请求同步它,还是为连接到服务器的每个客户端创建一个新连接。

我是说:

--------- 只有一个连接: --------------

服务器创建唯一的一个连接

_connection = DriverManager.
   getConnection("jdbc:postgresql:"+_dbName, _username, _password);

并为每个客户使用此连接

syncronize(_connection) { send data to database }

--------- 每个客户端的连接 -------------

服务器在接受客户端请求时为连接的客户端创建新连接

_clientConnection = DriverManager.
   getConnection("jdbc:postgresql:"+_dbName, _username, _password);

每个客户都有个人联系。

谁能解释做这些事情的最佳工作实践是什么?我认为与 MySQL 相同。

4

1 回答 1

4

最佳实践是使用连接池。这确保了

  • 多个客户端可以同时访问数据库
  • 打开连接的数量始终保持合理,并且不会在大量并发请求的情况下使服务器或数据库屈服
  • 连接不会经常打开和关闭。打开连接是一项耗时且消耗内存的操作

有几个可用的免费连接池(C3P0、DBCP 等)。谷歌是你的朋友。

于 2012-05-01T13:34:01.067 回答