mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 19:03:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			698 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			698 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from collections import OrderedDict
 | |
| from typing import Any
 | |
| 
 | |
| 
 | |
| class LRUCache:
 | |
|     def __init__(self, capacity: int):
 | |
|         self.cache: OrderedDict[Any, Any] = OrderedDict()
 | |
|         self.capacity = capacity
 | |
| 
 | |
|     def get(self, key: Any) -> Any:
 | |
|         if key not in self.cache:
 | |
|             return None
 | |
|         else:
 | |
|             self.cache.move_to_end(key)  # move the key to the end of the OrderedDict
 | |
|             return self.cache[key]
 | |
| 
 | |
|     def put(self, key: Any, value: Any) -> None:
 | |
|         if key in self.cache:
 | |
|             self.cache.move_to_end(key)
 | |
|         self.cache[key] = value
 | |
|         if len(self.cache) > self.capacity:
 | |
|             self.cache.popitem(last=False)  # pop the first item
 | 
