lru_cache (Least Recently Used cache) là decorator memoize kết quả của function — lần sau gọi cùng args sẽ trả về cache thay vì tính lại.
Function phải có hashable arguments.
python
from functools import lru_cache
@lru_cache(maxsize=128)
def fibonacci(n: int) -> int:
if n < 2: return n
return fibonacci(n-1) + fibonacci(n-2)
# Không cache (default: cached forever)
@lru_cache(maxsize=None) # Cache không giới hạn
def expensive_lookup(key): ...
fibonacci.cache_info() # hits, misses, maxsize, currsize
fibonacci.cache_clear() # Xóa cacheDùng cho: pure functions với expensive computation, recursive algorithms.