РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
499 of 643 menu

Метод cached

Метод cached применяется к экземпляру класса Cache и используется как декоратор. Он оборачивает функцию так, что при первом вызове результат вычисляется и сохраняется в кэше, а при повторных вызовах возвращается уже готовое значение. Первым параметром передаётся время жизни кэша в секундах timeout, вторым - префикс ключа key_prefix, а также доступны параметры unless и forced_update.

Синтаксис

@cache.cached(timeout, [key_prefix], [unless], [forced_update])

Пример

Давайте закэшируем результат функции на 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' res = get_data() print(res)

Результат выполнения кода:

"article"

Пример

Давайте зададим собственный префикс ключа через параметр key_prefix:

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_prefix') def get_user(): return 'user' res = get_user() print(res)

Результат выполнения кода:

"user"

Пример

Давайте используем метод cached внутри маршрута Flask:

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_hello(): return 'hello' @app.route('/') def index(): return get_hello()

Результат выполнения кода для адреса /:

<+html+> hello <-html+>

Смотрите также

  • класс Cache,
    который управляет кэшированием в приложении
  • метод memoize,
    который кэширует результат с учётом аргументов функции
  • параметр timeout,
    который задаёт время жизни кэша в секундах
  • параметр key_prefix,
    который задаёт префикс ключа кэша
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить