Table Of Contents
Cache manager¶
The cache manager can be used to store python objects attached to a unique key. The cache can be controlled in two ways: with a object limit or a timeout.
For example, we can create a new cache with a limit of 10 objects and a timeout of 5 seconds:
# 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)
If the instance is NULL, the cache may have trashed it because you’ve not used the label for 5 seconds and you’ve reach the limit.
- class kivy.cache.Cache[source]¶
- Bases: - builtins.object- See module documentation for more information. - static append(category, key, obj, timeout=None)[source]¶
- Add a new object to the cache. - Parameters:
- category: str
- Identifier of the category. 
- key: str
- Unique identifier of the object to store. 
- obj: object
- Object to store in cache. 
- timeout: double (optional)
- Time after which to delete the object if it has not been used. If None, no timeout is applied. 
 
- Raises:
- ValueError: If None is used as key. 
 - Changed in version 2.0.0: Raises ValueError if None is used as key. 
 - static get(category, key, default=None)[source]¶
- Get a object from the cache. - Parameters:
- category: str
- Identifier of the category. 
- key: str
- Unique identifier of the object in the store. 
- default: anything, defaults to None
- Default value to be returned if the key is not found. 
 
 
 - static get_lastaccess(category, key, default=None)[source]¶
- Get the objects last access time in the cache. - Parameters:
- category: str
- Identifier of the category. 
- key: str
- Unique identifier of the object in the store. 
- default: anything, defaults to None
- Default value to be returned if the key is not found. 
 
 
 - static get_timestamp(category, key, default=None)[source]¶
- Get the object timestamp in the cache. - Parameters:
- category: str
- Identifier of the category. 
- key: str
- Unique identifier of the object in the store. 
- default: anything, defaults to None
- Default value to be returned if the key is not found. 
 
 
 - static register(category, limit=None, timeout=None)[source]¶
- Register a new category in the cache with the specified limit. - Parameters:
- category: str
- Identifier of the category. 
- limit: int (optional)
- Maximum number of objects allowed in the cache. If None, no limit is applied. 
- timeout: double (optional)
- Time after which to delete the object if it has not been used. If None, no timeout is applied. 
 
 
 
