首页 > 解决方案 > functools lru_cache 的生命周期?

问题描述

我有一个烧瓶应用程序正在运行,我正在使用它通过具有各种端口的套接字客户端路由各种请求。不同的端口指向我使用构建的不同 Windows 服务pyinstaller

每个 Windows 服务负责使用参数列表并返回基于一些机器学习模型的结果,这些模型未腌制并存在于服务内部的内存中。

lru_cache我想使用from加快对具有相同参数的每个服务的调用functools,并且我正在考虑将此装饰器放在每个烧瓶路由上,以防止调用该服务。

有谁知道缓存能持续多久?它是否仅在单个调用堆栈的生命周期内存在(将缓存用于作为此堆栈一部分的任何调用,如递归函数)?或者只要机器运行,缓存就一直存在?

我知道我需要设置 maxsize 以利用缓存的 LRU 部分,并且我知道进入装饰函数的 args 必须是可散列的。

标签: pythonpython-3.xlru

解决方案


推荐阅读