Tengo un problema con SQL Alchemy: mi aplicación funciona como una aplicación de Python en constante funcionamiento.Cómo evitar el almacenamiento en caché en sqlalchemy?
que tienen función como esta:
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}
creo que esto es claro ejemplo - un conjunto de resultados se obtiene de la base de datos, el segundo simplemente se pasa como argumento.
El problema es que cuando cambio datos en mi base de datos, esta función aún devuelve datos como si nada hubiera cambiado. Cuando cambio los datos en el parámetro de entrada, el parámetro devuelto "cálculo" tiene el valor adecuado.
Cuando reinicio el servidor de aplicaciones, la situación vuelve a la normalidad: los datos nuevos se obtienen de MySQL.
sé que hubo varias preguntas sobre SQLAlchemy almacenamiento en caché como:
How to disable caching correctly in Sqlalchemy orm session?
How to disable SQLAlchemy caching?
pero cómo otras puedo llamar esta situación? Parece que SQLAlchemy mantiene los datos obtenidos antes y no realiza nuevas consultas hasta que la aplicación se reinicie. ¿Cómo puedo evitar tal comportamiento?
¿Cómo está cambiando los datos en la base de datos? ¿Eso está cambiado? – icecrime
Lo cambio a mano. El motor de base de datos es MySQL. Sí, el cambio está comprometido. – Archarius
http://stackoverflow.com/a/15788051/497208 puede ser útil –