tooluniverse.cache.result_cache_manager module

Result cache manager that coordinates in-memory and persistent storage.

class tooluniverse.cache.result_cache_manager.CacheRecord[source]

Bases: object

CacheRecord(value: ‘Any’, expires_at: ‘Optional[float]’, namespace: ‘str’, version: ‘str’)

value: Any
expires_at: float | None
namespace: str
version: str
__init__(value, expires_at, namespace, version)
class tooluniverse.cache.result_cache_manager.ResultCacheManager[source]

Bases: object

Facade around memory + persistent cache layers.

__init__(*, memory_size=256, persistent_path=None, enabled=True, persistence_enabled=True, singleflight=True, default_ttl=None, async_persist=None, async_queue_size=10000)[source]
static compose_key(namespace, version, cache_key)[source]
get(*, namespace, version, cache_key)[source]
set(*, namespace, version, cache_key, value, ttl=None)[source]
delete(*, namespace, version, cache_key)[source]
clear(namespace=None)[source]
bulk_get(requests)[source]

Fetch multiple cache entries at once.

Parameters:

requests (Sequence[Dict[str, str]]) – Iterable of dicts containing namespace, version and cache_key.

Returns

Mapping of composed cache keys to cached values.

stats()[source]
dump(namespace=None)[source]
singleflight_guard(composed_key)[source]
close()[source]
flush()[source]