Spaces:
Sleeping
Sleeping
File size: 585 Bytes
9b3014a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import time
from typing import Any, Dict, Tuple
class TTLCache:
def __init__(self, ttl_seconds: int = 600):
self.ttl = ttl_seconds
self._store: Dict[str, Tuple[float, Any]] = {}
def get(self, key: str):
item = self._store.get(key)
if not item:
return None
expires_at, value = item
if time.time() > expires_at:
self._store.pop(key, None)
return None
return value
def set(self, key: str, value: Any):
self._store[key] = (time.time() + self.ttl, value)
|