问题描述
我正在烧瓶中设置一个应用程序并使用 sqlAlchemy 作为 ORM。我注意到 sqlalchemy 为以下一组操作并行运行多个会话
db_session.add()
db_session.commit()
为了
myModel.query.all()
我正在按如下方式配置我的数据库引擎 -
engine = create_engine('MysqL+pyMysqL://<user>:<pwd>@' + host + '/db',convert_unicode=True,pool_size=20,max_overflow=0,isolation_level="READ COMMITTED")
db_session:Session = scoped_session(sessionmaker(autocommit=False,autoflush=True,bind=engine))
所以我将隔离级别设置为已提交读,因此会话应该读取已提交的数据,但不是。我不想在每次执行提交时终止会话,我认为这会非常昂贵并且会减慢应用程序的速度,因为我的应用程序必须再次启动一个新会话。
我想看看这里的最佳实践是什么,因为我在使用 Hibernate 时没有遇到过这样的问题。
我提到了以下问题,它确实提到了问题所在,但没有谈论解决方案 - Isolation level with Flask-SQLAlchemy
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)