跳转至

cryptoservice.utils.cache_manager

cryptoservice.utils.cache_manager

Classes

CacheManager(ttl_seconds: int = 60)

缓存管理器.

Source code in src/cryptoservice/utils/cache_manager.py
def __init__(self, ttl_seconds: int = 60):
    self._cache: Dict[str, Tuple[Any, datetime]] = {}
    self._ttl = ttl_seconds
    self._lock = threading.Lock()
Functions
get(key: str) -> Optional[Any]

获取缓存数据.

Source code in src/cryptoservice/utils/cache_manager.py
def get(self, key: str) -> Optional[Any]:
    """获取缓存数据."""
    with self._lock:
        if key in self._cache:
            data, timestamp = self._cache[key]
            if datetime.now() - timestamp < timedelta(seconds=self._ttl):
                return data
            del self._cache[key]
    return None
set(key: str, value: Any) -> None

设置缓存数据.

Source code in src/cryptoservice/utils/cache_manager.py
def set(self, key: str, value: Any) -> None:
    """设置缓存数据."""
    with self._lock:
        self._cache[key] = (value, datetime.now())
clear() -> None

清除所有缓存.

Source code in src/cryptoservice/utils/cache_manager.py
def clear(self) -> None:
    """清除所有缓存."""
    with self._lock:
        self._cache.clear()