我正在尝试了解使用Session的正确方法。如果使用
创建会话session = Session()
每次都会创建与db的新连接,然后我必须尝试将会话重用于多个事务,否则我可以经常创建它。
你能帮我解决这个问题吗?
答案 0 :(得分:1)
SQLAlchemy内置connection pooling for the engine that you make(如果已经可用,则重用连接)。
“会话”本身绑定到引擎:
# create a configured "Session" class
Session = sessionmaker(bind=some_engine)
# create a Session
session = Session()
因此,会话将自动使用默认连接池;你不需要做任何特别的事情来获得这个功能的好处。
您可以在the documentation中详细了解它的工作原理(如果您愿意,还可以调整连接池以修改连接超时和池大小等值)。