Как отключить кеширование Flask-Cache

У меня возникла проблема при использовании Flask-Cache. Мне нужно сделать кеширование по мере необходимости, определив переменную конфигурации, которую пользователь может установить для включения или отключения кеширования.

Я использую Flask-Cache для кеширования, так как

cache = Cache(config={'CACHE_TYPE': 'redis'})
app = Flask(__name__)

# To initialize cache 
cache.init_app(app)

# clear cache
with app.app_context():
    cache.clear()

И используя кеш (в views.py) как

@app.route('/<int:id>', methods=['GET'])

@validate_access(current_user, "read")

@login_required

@cache.memoize()

def get_values(id):
    return get_values()

Я не понимаю, как правильно включить / отключить кеширование при использовании Flask-Cache. Есть ли стандартный способ, с помощью которого мы можем полностью включить / отключить поведение кеша.


person a.m.    schedule 03.01.2014    source источник


Ответы (1)


Просто установите для ключа CACHE_TYPE вашего app.config значение "null" перед инициализацией Flask-Cache. :

app.config["CACHE_TYPE"] = "null"
# change to "redis" and restart to cache again

# some time later
cache.init_app(app)

# All caching functions will simply call through
# to the wrapped function, with no caching
# (since NullCache does not cache).
person Sean Vieira    schedule 03.01.2014