Preservando o estado global em um aplicativo de balão

Eu estou tentando salvar um dicionário de cache no meuflask aplicação.

Tanto quanto eu entendo, oContexto de Aplicação, em particular oobjeto flask.g deve ser usado para isso.

Configuração:

import flask as f

app = f.Flask(__name__)

Agora, se eu fizer:

with app.app_context():
    f.g.foo = "bar"
    print f.g.foo

Imprimebar.

Continuando com o seguinte:

with app.app_context():
    print f.g.foo

AttributeError: '_AppCtxGlobals' object has no attribute 'foo'

Eu não entendo e os documentos não ajudam em nada. Se eu os ler corretamente, o estado deveria ter sido preservado.

Outra ideia Eu tinha que simplesmente usar variáveis ​​de todo o módulo:

cache = {}

def some_function():
    cache['foo'] = "bar"

Mas parece que estes são redefinidos a cada solicitação.

Como fazer isso corretamente?

Editar: Frasco 10.1