TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #5057 727
Почему lru_cache удерживает объекты в памяти

Декоратор lru_cache хранит аргументы и результат функции. Если поставить его на метод экземпляра, self станет частью ключа — кеш может удерживать объект после того, как остальной код перестал им пользоваться.

Есть и другие ловушки мемоизации. Каждый cache hit возвращает сохранённый объект: изменение закешированного списка увидят следующие вызовы. А maxsize ограничивает число записей, но не задаёт срок их жизни.

Для результатов выбирайте неизменяемые структуры, для внешних данных продумайте инвалидирование. Через cache_info() проверьте, сколько попаданий кеш вообще даёт.

Потокобезопасность кеша тоже не гарантирует один запуск функции: при одновременных промахах вычисление может повториться.

#python #производительность
  • 👍 1
More from @zen_of_python
  1. Oct 13, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  2. Oct 13, 2026Post #5059
  3. Oct 13, 2026Как менеджер паролей найдёт вашу форму Django Менеджер паролей обнаружил утечку и предлага…
  4. Oct 13, 2026Python 3.10 больше не получает исправления безопасности Версия 3.10.22 стала последней в с…
  5. Oct 12, 2026🧑‍💻 Какие навыки помогают вам в разработке в 2026 году? Что вы чаще используете в работе…
  6. Oct 12, 2026Как PEP 827 предлагает выводить тип выбранных полей ORM-запрос выбирает name и email, но с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →