Кэширование результатов вызова функций с помощью декоратора
Доводилось ли вам писать функции, которые выполняли какие-нибудь длительные операции чтения-записи, или достаточно медленные рекурсивные вычисления?
Думали ли вы при этом о том, что таким функциям не повредило бы кэширование результатов? Кэшировать результаты вызова функции можно с помощью декоратора
В этом примере мы выполняем GET-запросы, результаты которых кэшируются (кэшировано может быть до 32 результатов). Тут можно увидеть и то, что мы получаем сведения о кэше функции, воспользовавшись методом
Посмотреть код
#functools
Доводилось ли вам писать функции, которые выполняли какие-нибудь длительные операции чтения-записи, или достаточно медленные рекурсивные вычисления?
Думали ли вы при этом о том, что таким функциям не повредило бы кэширование результатов? Кэшировать результаты вызова функции можно с помощью декоратора
lru_cache из модуля functools.В этом примере мы выполняем GET-запросы, результаты которых кэшируются (кэшировано может быть до 32 результатов). Тут можно увидеть и то, что мы получаем сведения о кэше функции, воспользовавшись методом
cache_info.Посмотреть код
#functools