"""内存缓存,支持 TTL 过期""" import time from typing import Any class MemoryCache: def __init__(self): self._store: dict[str, tuple[Any, float]] = {} def get(self, key: str) -> Any | None: if key not in self._store: return None value, expire_at = self._store[key] if time.time() > expire_at: del self._store[key] return None return value def set(self, key: str, value: Any, ttl: int = 300): self._store[key] = (value, time.time() + ttl) def delete(self, key: str): self._store.pop(key, None) def clear(self): self._store.clear() def cleanup(self): now = time.time() expired = [k for k, (_, exp) in self._store.items() if now > exp] for k in expired: del self._store[k] cache = MemoryCache()