我使用时遇到缓存问题sqlalchemy.
我sqlalchemy用来将数据插入MySQL数据库.然后,我有另一个应用程序处理这些数据,并直接更新它.
但sqlalchemy始终返回旧数据而不是更新数据.我想sqlalchemy缓存了我的请求......所以......我应该如何禁用它?
我有一个SQL Alchemy的问题 - 我的应用程序作为一个不断工作的python应用程序.
我有这样的功能:
def myFunction(self, param1):
s = select([statsModel.c.STA_ID, statsModel.c.STA_DATE)])\
.select_from(statsModel)
statsResult = self.connection.execute(s).fetchall()
return {'result': statsResult, 'calculation': param1}
Run Code Online (Sandbox Code Playgroud)
我认为这是一个明显的例子 - 一个结果集是从数据库中获取的,第二个是作为参数传递的.
问题是,当我更改数据库中的数据时,此函数仍会返回数据,就像没有更改任何内容一样.当我在输入参数中更改数据时,返回的参数"计算"具有适当的值.
当我重新启动应用服务器时,情况恢复正常 - 从MySQL获取新数据.
我知道有几个关于SQLAlchemy缓存的问题,如:
但我怎么称呼这种情况呢?似乎SQLAlchemy保留之前获取的数据,并且在应用程序重新启动之前不执行新查询.我该如何避免这种行为?