Версия 2.1.0

Quick search

Table Of Contents

Менеджер кэша

Менеджер кэша может использоваться для хранения объектов Python, привязанных к уникальному ключу. Кэш можно контролировать двумя способами: с ограничением по количеству объектов или временем ожидания.

Например, мы можем создать новый кэш с лимитом в 10 объектов и временем ожидания 5 секунд:

# Регистрация нового кэша
Cache.register('mycache', limit=10, timeout=5)

# Создание объекта + идентификатор
key = 'objectid'
instance = Label(text=text)
Cache.append('mycache', key, instance)

# Извлечение кэшированного объекта
instance = Cache.get('mycache', key)

Если объект равен NULL, то кэш, возможно, удалил его, потому что вы не использовали метку в течение 5 секунд и достигли лимита.

class kivy.cache.Cache[source]

Базовый класс: builtins.object

Дополнительную информацию смотрите в документации модуля.

static append(category, key, obj, timeout=None)[source]

Добавить новый объект в кэш.

Parameters
category: str

Идентификатор категории.

key: str

Уникальный идентификатор объекта для хранения.

obj: object

Объект для хранения в кэше.

timeout: double (необязательно)

Время, через которое удалить объект, если он не был использован. Если None, то таймаут не применяется.

Raises

ValueError: Если key равен None.

Изменено в версии 2.0.0: Бросает ValueError, если key равен None.

static get(category, key, default=None)[source]

Получить объект из кэша.

Parameters
category: str

Идентификатор категории.

key: str

Уникальный идентификатор объекта в хранилище.

default: anything, по умолчанию None

Значение по умолчанию, которое будет возвращено, если ключ не найден.

static get_lastaccess(category, key, default=None)[source]

Получить время последнего доступа к объекту в кэше.

Parameters
category: str

Идентификатор категории.

key: str

Уникальный идентификатор объекта в хранилище.

default: anything, по умолчанию None

Значение по умолчанию, которое будет возвращено, если ключ не найден.

static get_timestamp(category, key, default=None)[source]

Получить временную метку объекта в кэше.

Parameters
category: str

Идентификатор категории.

key: str

Уникальный идентификатор объекта в хранилище.

default: anything, по умолчанию None

Значение по умолчанию, которое будет возвращено, если ключ не найден.

static print_usage()[source]

Вывести использование кэша в консоль.

static register(category, limit=None, timeout=None)[source]

Зарегистрировать новую категорию в кэше с указанным лимитом.

Parameters
category: str

Идентификатор категории.

limit: int (необязательно)

Максимальное количество объектов, разрешенных в кэше. Если None, то лимит не применяется.

timeout: double (необязательно)

Время, через которое удалить объект, если он не был использован. Если None, то таймаут не применяется.

static remove(category, key=None)[source]

Очистить кэш.

Parameters
category: str

Идентификатор категории.

key: str (необязательно)

Уникальный идентификатор объекта в хранилище. Если этот аргумент не указан, то весь раздел будет очищен.