Путаница с кэшированием с помощью декораторов в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Путаница с кэшированием с помощью декораторов в Python

Сообщение Anonymous »

Я работаю с декораторами Python над реализацией кэширования функций. Я понимаю основную концепцию кэширования результатов для повышения производительности, но не могу понять, как обрабатывать различные аргументы функции и обеспечивать обновление кэша при изменении базовых данных.
Я реализовал базовый декоратор, который сохраняет результаты функции в словаре на основе аргументов. Однако этот подход не обрабатывает ситуации, когда аргументы функции могут иметь сложную структуру (например, вложенные списки) или когда базовые данные, на которые опирается функция, могут быть изменены.
`def simple_cache( func):
cache = {}
def wrapper(*args, **kwargs):
key = (args, kwargs) # Базовый ключ на основе аргументов
if key not в кеше:
cache[key] = func(*args, **kwargs)
return кэш[key]
оболочка возврата
@simple_cachedef Calculate_something(data):
Имитирует сложные вычисления
...
возвращает результат
`

Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Путаница с кэшированием с помощью декораторов в Python
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Делает ли код Visual Studio что-то с кэшированием пакетов Python в средах Conda?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как справиться с кэшированием с большими данными в Python
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как документировать функции Python с помощью декораторов перегрузки/отправки?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Next.js 13 и NextAuth: проблема с кэшированием при условном рендеринге в зависимости от роли пользователя в рабочей сред
    Гость » » в форуме Javascript
    0 Ответы
    47 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»