Cache¶
- class streamlink.cache.Cache(filename, key_prefix='')¶
Bases:
object
Caches Python values as JSON and prunes expired entries.
- Parameters:
filename (str | Path) -- A file name or
Path
object, relative to the cache directorykey_prefix (str) -- Optional prefix for each key to be retrieved from or stored in the cache
- get(key, default=None)¶
Attempt to retrieve the given key from the cache.
Prunes the cache of all expired key-value pairs before retrieving the key's value.
- Parameters:
key (str) -- A specific key name
default (Any | None) -- An optional default value if no key was stored, or if it has expired
- Returns:
The retrieved value or optional default value
- Return type:
Any
- get_all()¶
Retrieve all cached key-value pairs.
Prunes the cache of all expired key-value pairs first.
- Returns:
A dictionary of all cached key-value pairs.
- Return type:
Dict[str, Any]
- set(key, value, expires=604800, expires_at=None)¶
Store the given value using the key name and expiration time.
Prunes the cache of all expired key-value pairs before setting the new key-value pair.
- Parameters:
key (str) -- A specific key name
value (Any) -- Any kind of value that can be JSON-serialized
expires (float) -- Expiration time in seconds, with the default being one week
expires_at (datetime | None) -- Optional expiration date, which overrides the expiration time
- Return type:
None