使用时出现缓存问题sqlalchemy。
我sqlalchemy用来将数据插入MySQL数据库。然后,我有另一个应用程序处理此数据,并直接对其进行更新。
但是sqlalchemy总是返回旧数据而不是更新数据。我认为已sqlalchemy缓存了我的请求……所以……我应如何禁用它?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人们通常认为,除了在事务本地存在的常见SQLAlchemy身份映射之外,还存在“缓存”的作用,这是因为他们正在观察事务隔离的影响。默认情况下,SQLAlchemy的会话在事务模式下工作,这意味着它等待直到session.commit()被调用才能将数据持久保存到数据库中。在此期间,其他地方正在进行的其他事务将看不到此数据。
但是,由于交易具有隔离性,因此存在额外的变数。正在处理的其他事务不仅在提交之前不会看到您的事务数据,在某些情况下也要在提交或回滚之前才看到它们的数据(这与close()在此处具有的效果相同) 。具有平均隔离度的事务将保持到目前为止已加载的状态,并且即使真实数据已更改,也会继续为您提供该事务本地的相同状态-这在事务隔离中被称为可重复读取。
http://en.wikipedia.org/wiki/Isolation_%28database_systems%29来源:stack overflow