#flask-restplus #flask-restx
Вопрос:
В принципе, мне нужно знать, могу ли я использовать @functools.cached_property
подкласс Flask- Resource
RESTPlus для кэширования дорогостоящей операции или совместной конструкции, которая не должна сохраняться после одного запроса.
Я думаю, что есть две возможности:
- Экземпляр
Resource
подкласса создается заново для каждого HTTP-запроса, направленного на этот ресурс. - Экземпляр
Resource
подкласса создается один раз при создании API и повторном использовании для каждого запроса, направленного на этот ресурс в течение всего срока службы API.
Кэширование объекта/экземпляра будет работать только в случае 1. @cached_property
по сути, это переменная экземпляра, вычисляемая с помощью ленивых вычислений, ее значение вычисляется при первом использовании и сохраняется в переменной экземпляра, а затем подается из этой переменной при каждом последующем доступе/вызове. Я ожидаю, что механизм на самом деле является дескриптором, но концепция та же самая.
В любом случае, мне нужно другое значение для каждого запроса, мне просто нужно использовать его несколько раз в ходе обработки одного запроса, и мне нужно, чтобы значение было вычислено ровно один раз для этого запроса.
Будет @cached_property
ли работать так, как мне нужно, в подклассе Flask-RESTPlus Resource
?