Memorizando consultas SQL
Digamos que eu tenho uma função que executa uma consulta SQL e retorna um quadro de dados:
import pandas.io.sql as psql
import sqlalchemy
query_string = "select a from table;"
def run_my_query(my_query):
# username, host, port and database are hard-coded here
engine = sqlalchemy.create_engine('postgresql://{username}@{host}:{port}/{database}'.format(username=username, host=host, port=port, database=database))
df = psql.read_sql(my_query, engine)
return df
# Run the query (this is what I want to memoize)
df = run_my_query(my_query)
Eu gostaria de:
Consiga memorizar minha consulta acima com uma entrada de cache por valor dequery_string
(ou seja, por consulta)Ser capaz de forçar umredefinição de cache sob demanda (por exemplo, com base em alguma sinalização), por exemplo para que eu possa atualizar meu cache se achar que o banco de dados foi alterado.