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 register(category, limit=None, timeout=None)[source]¶
Зарегистрировать новую категорию в кэше с указанным лимитом.
- Parameters
- category: str
Идентификатор категории.
- limit: int (необязательно)
Максимальное количество объектов, разрешенных в кэше. Если None, то лимит не применяется.
- timeout: double (необязательно)
Время, через которое удалить объект, если он не был использован. Если None, то таймаут не применяется.