Как работал с кэшированием

Python Junior Без компании
Как работал с кэшированием
Ответы
В Python для кэширования часто используют `functools.lru_cache` для мемоизации функций. Это декоратор, который сохраняет результаты вызовов функции с определенными аргументами, избегая повторных вычислений. Пример: ``` from functools import lru_cache @lru_cache(maxsize=128) def expensive_func(n): print(f"Calculating for {n}...") return n * n print(expensive_func(5)) # Вычисляется print(expensive_func(5)) # Берётся из кэша ``` **Нюансы:** - `maxsize` ограничивает размер кэша (None — без ограничений). - Для изменяемых аргументов (например, словари) лучше преобразовывать их в хешируемые типы (кортежи). - Не подходит для функций с побочными эффектами или динамически меняющимися данными. Для распределённого кэширования используют Redis или Memcached.