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

Параметр key_prefix

Параметр key_prefix применяется к декораторам cached и memoize расширения Flask-Caching. Он задаёт строковый префикс, который добавляется к каждому ключу кэша. Это позволяет группировать записи и избегать конфликтов между разными функциями. Значением параметра выступает строка.

Синтаксис

@cache.cached(timeout=50, key_prefix='prefix')

Пример

Давайте закэшируем функцию с собственным префиксом ключа:

from flask import Flask from flask_caching import Cache app = Flask(__name__) app.config['CACHE_TYPE'] = 'simple' cache = Cache(app) @app.route('/') @cache.cached(timeout=50, key_prefix='index_page') def index(): return 'hello'

Теперь все записи этой функции хранятся в кэше под ключом с префиксом 'index_page'.

Пример

Давайте закэшируем функцию с аргументами через memoize и зададим префикс:

from flask import Flask from flask_caching import Cache app = Flask(__name__) app.config['CACHE_TYPE'] = 'simple' cache = Cache(app) @cache.memoize(timeout=50, key_prefix='user_data') def get_user(user): return 'user ' + user @app.route('/user/<user>') def user(user): return get_user(user)

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

user abcde

Каждый уникальный аргумент user создаёт отдельный ключ с общим префиксом 'user_data'.

Пример

Давайте очистим кэш только для записей с определённым префиксом через метод delete:

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='articles') def get_articles(): return ['article 1', 'article 2', 'article 3'] @app.route('/') def index(): res = get_articles() cache.delete('articles') return str(res)

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

['article 1', 'article 2', 'article 3']

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

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