【发布时间】:2012-12-29 08:44:29
【问题描述】:
我实际上是在将 SQLAlchemy 与 MySQL 和 Pyro 一起使用来制作服务器程序。许多客户端连接到此服务器以发出请求。程序只提供 MySQL 数据库中的信息,有时还会进行一些计算。
是为每个客户端创建一个会话还是为每个客户端使用相同的会话更好?
【问题讨论】:
-
辛蔡会南!您能否向我们提供更多详细信息,如果没有其他信息(例如服务器的使用情况),将无法给您答案。
-
你好,xin chao,更详细的程序只提供数据库 MySQL 的信息,有时会进行一些计算
-
主要问题是客户端是否需要保持单独的状态?或者他们可以共享状态变量吗?他们需要保持状态吗?您提到有计算,客户可以共享计算吗?您需要研究状态将维持什么,然后问自己他们可以分享吗?
-
客户端之间没有共享状态,它们是独立的。但问题是我不需要为每个客户端创建新会话,因为一次会话就足够了。
-
您不应该在客户端之间共享会话,因为您会共享事务状态(您永远不应该这样做)。 AFAIR Pyro 每个连接都使用一个线程,所以
scoped_session正是您所需要的:docs.sqlalchemy.org/en/latest/orm/…
标签: mysql session sqlalchemy pyro