Merge branch 'master' into master

This commit is contained in:
zhayujie
2023-03-24 22:53:32 +08:00
committed by GitHub
48 changed files with 2291 additions and 251 deletions

View File

@@ -16,11 +16,28 @@ class ExpiredDict(dict):
return value
def __setitem__(self, key, value):
# 刷新元素缓存时间
super().__setitem__(key, (value, time.monotonic() + self.expires_in_seconds))
expiry_time = datetime.now() + timedelta(seconds=self.expires_in_seconds)
super().__setitem__(key, (value, expiry_time))
def get(self, key, default=None):
try:
return self[key]
except KeyError:
return default
def __contains__(self, key):
try:
self[key]
return True
except KeyError:
return False
def keys(self):
keys=list(super().keys())
return [key for key in keys if key in self]
def items(self):
return [(key, self[key]) for key in self.keys()]
def __iter__(self):
return self.keys().__iter__()