Принцип работы декоратора @lru_cache в Python заключается в кэшировании результатов функции, чтобы последующие вызовы функции с теми же аргументами не выполнялись повторно. 4
Декоратор использует словарь, в котором результат выполнения функции кэшируется под ключом, соответствующим вызову функции и предоставленным аргументам. 2 Чтобы декоратор работал, аргументы должны быть хешируемыми. 2
В декораторе @lru_cache есть параметр maxsize, который задаёт максимальное количество результатов для хранения в кэше. 4 Когда кэш переполнен и необходимо сохранить новый результат, из кэша удаляется наиболее давно использовавшийся результат, чтобы освободить место для нового. 4 Это называется стратегией наиболее давно использовавшегося результата (LRU). 4