Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图了解使用 Session 的正确方法是什么。如果创建会话
session = Session()
每次都会创建到 db 的新连接,然后我必须尝试将我的会话重用于多个事务,否则我可以经常创建它。
你能帮我解决这个问题吗?
SQLAlchemy 为您创建的引擎提供了内置的连接池(如果已经可用,则重用连接)。
“会话”本身绑定到一个引擎:
# create a configured "Session" class Session = sessionmaker(bind=some_engine) # create a Session session = Session()
因此,会话将自动使用默认的连接池;您无需执行任何特殊操作即可获得此功能的好处。
您可以在文档中阅读有关其工作原理的更多信息(以及如何调整连接池以修改连接超时和池大小等值)。