Декоратор cached
Декоратор cached применяется к функциям
и сохраняет результат их выполнения в кэше.
При повторном вызове функция не выполняется заново,
а возвращается сохранённое значение. Первым параметром
передаётся время жизни кэша в секундах. Вторым
необязательным параметром - префикс ключа.
Синтаксис
@cache.cached(timeout, [key_prefix])
Пример
Давайте закэшируем результат функции на 50 секунд:
from flask import Flask
from flask_caching import Cache
app = Flask(__name__)
app.config['CACHE_TYPE'] = 'simple'
cache = Cache(app)
@cache.cached(timeout=50)
def get_data():
return 'article'
@app.route('/')
def index():
return get_data()
Результат выполнения кода для адреса '/':
article
Пример
Давайте зададим собственный префикс ключа для кэша:
from flask import Flask
from flask_caching import Cache
app = Flask(__name__)
app.config['CACHE_TYPE'] = 'simple'
cache = Cache(app)
@cache.cached(timeout=50, key_prefix='my_data')
def get_data():
return 'abcde'
@app.route('/')
def index():
return get_data()
Результат выполнения кода для адреса '/':
abcde
Смотрите также
-
класс
Cache,
который управляет кэшированием в приложении -
метод
clear,
который очищает весь кэш -
параметр
timeout,
который задаёт время жизни кэша -
параметр
key_prefix,
который задаёт префикс ключа кэша