缓存管理器

缓存管理器可用于存储与唯一键关联的Python对象。缓存可以通过两种方式进行控制:对象数量限制或超时时间。

例如,我们可以创建一个限制为10个对象、超时时间为5秒的新缓存:

# register a new Cache
Cache.register('mycache', limit=10, timeout=5)

# create an object + id
key = 'objectid'
instance = Label(text=text)
Cache.append('mycache', key, instance)

# retrieve the cached object
instance = Cache.get('mycache', key)

如果实例为NULL,可能是因为缓存已将其清除,因为您已超过5秒未使用该标签,并且已达到缓存限制。

class kivy.cache.Cache[源代码]

基类:object

更多信息请参阅模块文档。

static append(category, key, obj, timeout=None)[源代码]

向缓存中添加一个新对象。

参数:
category: str

类别的标识符。

key:字符串

要存储的对象的唯一标识符。

obj:对象

用于存储在缓存中的对象。

timeout:双精度浮点数(可选)

如果对象在一段时间内未被使用,则在该时间后将其删除。若为None,则不应用超时。

抛出异常:

ValueError:如果使用 None 作为 key

在 2.0.0 版本发生变更: 如果使用 None 作为 key,则引发 ValueError

static get(category, key, default=None)[源代码]

从缓存中获取一个对象。

参数:
category: str

类别的标识符。

key:字符串

对象在存储中的唯一标识符。

default:任意值,默认为 None

如果未找到键,则返回的默认值。

static get_lastaccess(category, key, default=None)[源代码]

获取缓存中对象的最后访问时间。

参数:
category: str

类别的标识符。

key:字符串

对象在存储中的唯一标识符。

default:任意值,默认为 None

如果未找到键,则返回的默认值。

static get_timestamp(category, key, default=None)[源代码]

获取缓存中对象的时间戳。

参数:
category: str

类别的标识符。

key:字符串

对象在存储中的唯一标识符。

default:任意值,默认为 None

如果未找到键,则返回的默认值。

static print_usage()[源代码]

将缓存使用情况打印到控制台。

static register(category, limit=None, timeout=None)[源代码]

在缓存中注册一个新类别,并指定其限制。

参数:
category: str

类别的标识符。

limit:整数(可选)

缓存中允许的最大对象数量。如果为None,则不应用限制。

timeout:双精度浮点数(可选)

如果对象在一段时间内未被使用,则在该时间后将其删除。若为None,则不应用超时。

static remove(category, key=None)[源代码]

清除缓存。

参数:
category: str

类别的标识符。

key: str(可选)

对象在存储中的唯一标识符。如果未提供此参数,则将清除整个类别。