Spaces:
Sleeping
Sleeping
File size: 551 Bytes
44bf352 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from collections import OrderedDict
class ModelCache(OrderedDict):
def __init__(self, max_size=2):
super().__init__()
self.max_size = max_size
def __getitem__(self, key):
value = super().__getitem__(key)
self.move_to_end(key)
return value
def __setitem__(self, key, value):
if key in self:
self.move_to_end(key)
super().__setitem__(key, value)
if len(self) > self.max_size:
oldest = next(iter(self))
del self[oldest]
|