[perf] Extension list cache (#3616)
This commit is contained in:
@@ -13,6 +13,9 @@ class Cached(NamedTuple):
|
||||
value: Any
|
||||
expiry: float
|
||||
|
||||
def older_than(self, seconds: float) -> bool:
|
||||
return time() - self.expiry > seconds
|
||||
|
||||
|
||||
class Cache:
|
||||
"""
|
||||
@@ -23,6 +26,9 @@ class Cache:
|
||||
self.interval = interval
|
||||
self._values: dict[Any, Cached] = {}
|
||||
|
||||
def value(self, key: str) -> Cached | None:
|
||||
return self._values.get(key)
|
||||
|
||||
def get(self, key: str, default=None) -> Any | None:
|
||||
cached = self._values.get(key)
|
||||
if cached is not None:
|
||||
|
||||
Reference in New Issue
Block a user