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.

Como posso fazer isso comjoblib, jarro?

questionAnswers(1)

yourAnswerToTheQuestion