java - java服务器信息中的postgres

标签 java postgresql

用 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 相同。

最佳答案

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

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

有几个可用的免费连接池(C3P0、DBCP 等)。 Google 是您的 friend 。

关于java - java服务器信息中的postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398276/

相关文章:

java - 如何使用java从文件中的字符串中删除特殊字符

java - 自动生成 HTTP 屏幕抓取 Java 代码

java - 我们可以再次使用相同的 websocket 连接吗?

java - 为许多对象初始化引用变量?

没有模式名称的 postgresql pg_dump

sql - 如何编写查询/创建 View 以限制多条记录仅显示最大值

java - 如何在 Android 运行时 (ART) 上启用语言级断言?

postgresql - Postgres 更改索引与删除索引并创建索引

django - 如何为谷歌表单等字段设计数据库?

sql - PostgreSQL 中基于多个字段更改(包括 "invisible"字段)的行编号