Spaces:
Sleeping
Sleeping
| 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] | |