我应该为每个线程打开db连接吗?

2024-03-29 10:44:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一种聊天软件。 有python&;服务器端是postgresql,客户端是xcode、android(java)端(Web将是下一阶段)

服务器程序总是在ubuntulinux上运行。我为服务器(由python开发的服务器程序)中的每个客户机连接创建线程。我没有决定db应该如何运作

  1. 我应该创建通用数据库连接,我应该使用这个吗 每个客户数据库的连接 操作(插入、更新、删除等)。如果我创造 一般的连接,我想我以后会遇到锁的问题(当我试图在其他用户插入时获取聊天信息列表时)
  2. 如果我在每个客户端连接到服务器时创建DB连接。在这种情况下,是否有太多的联系。它给了我未来的性能问题
  3. 如果我在每个DB操作之前都在上创建DB连接,那么会有太多的DB连接打开和关闭操作

你的意见是什么?最好的办法是什么


Tags: 服务器web数据库客户端db客户机软件postgresql
1条回答
网友
1楼 · 发布于 2024-03-29 10:44:22

最好的方法是在服务器端维护一个数据库连接池

对于每个请求,使用池中的可用连接执行数据库操作,并在完成后将其释放回池

这样您就不会为每个请求创建新的db连接,这将是一个代价高昂的操作

相关问题 更多 >