Skip to content

Commit 60606cc

Browse files
committed
lru cache redone with correct upstream branch
1 parent 134e683 commit 60606cc

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from collections import OrderedDict
2+
3+
class LruCache:
4+
def __init__(self, limit):
5+
if limit <= 0:
6+
raise ValueError("Cache limit must be greater than zero.")
7+
self.limit = limit
8+
self.cache = OrderedDict()
9+
10+
def get(self, key):
11+
if key not in self.cache:
12+
return None
13+
self.cache.move_to_end(key)
14+
return self.cache[key]
15+
16+
def set(self, key, value):
17+
if key in self.cache:
18+
self.cache.move_to_end(key)
19+
self.cache[key] = value
20+
21+
if len(self.cache) > self.limit:
22+
self.cache.popitem(last=False)

0 commit comments

Comments
 (0)