tooluniverse.cache 软件包

ToolUniverse 缓存工具

子模块

tooluniverse.cache.memory_cache module

In-memory cache utilities for ToolUniverse.

提供一个轻量级、线程安全的LRU缓存,并支持可选的singleflight机制,用于减少高成本的缓存未命中情况。

class tooluniverse.cache.memory_cache.LRUCache[源代码]

基类:object

线程安全的LRU缓存,带有基本的遥测功能。

__init__(max_size=128)[源代码]
get(key)[源代码]
set(key, value)[源代码]
delete(key)[源代码]
clear()[源代码]
stats()[源代码]
items()[源代码]
class tooluniverse.cache.memory_cache.SingleFlight[源代码]

基类:object

每键锁管理器用于合并重复的缓存未命中。

__init__()[源代码]
acquire(key)[源代码]

tooluniverse.cache.result_cache_manager module

结果缓存管理器,用于协调内存和持久化存储。

class tooluniverse.cache.result_cache_manager.CacheRecord[源代码]

基类:object

CacheRecord(value: ‘任意类型’, expires_at: ‘可选[浮点数]’, namespace: ‘字符串’, version: ‘字符串’)

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

基类:object

围绕内存和持久缓存层的外观模式。

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

一次性获取多个缓存条目。

参数:

requests (Sequence[Dict[str, str]]) – 包含``namespace``、``version``和``cache_key``的字典迭代对象。

返回

将组合缓存键映射到缓存值。

stats()[源代码]
dump(namespace=None)[源代码]
singleflight_guard(composed_key)[源代码]
close()[源代码]

Close the cache manager and cleanup resources.

__del__()[源代码]

Ensure cleanup happens even if close() is not called explicitly.

flush()[源代码]

tooluniverse.cache.sqlite_backend module

基于SQLite的ToolUniverse持久缓存。

缓存存储带有TTL和版本元数据的序列化工具结果。设计为内存缓存后端的可直接使用的持久层。

class tooluniverse.cache.sqlite_backend.CacheEntry[源代码]

基类:object

CacheEntry(key: ‘str’, value: ‘Any’, namespace: ‘str’, version: ‘str’, ttl: ‘Optional[int]’, created_at: ‘float’, last_accessed: ‘float’, hit_count: ‘int’, expires_at: ‘Optional[float]’ = None)

key: str
value: Any
namespace: str
version: str
ttl: int | None
created_at: float
last_accessed: float
hit_count: int
expires_at: float | None = None
__init__(key, value, namespace, version, ttl, created_at, last_accessed, hit_count, expires_at=None)
class tooluniverse.cache.sqlite_backend.PersistentCache[源代码]

基类:object

基于SQLite的缓存层,支持TTL功能。

__init__(path, *, enable=True)[源代码]
close()[源代码]
cleanup_expired()[源代码]
get(cache_key)[源代码]
set(cache_key, value, *, namespace, version, ttl, created_at=None, expires_at=None)[源代码]
delete(cache_key)[源代码]
clear(namespace=None)[源代码]
iter_entries(namespace=None)[源代码]
stats()[源代码]