2024-05-15 22:34:40 发布
网友
我的项目中有以下用例-Python。 我们通过API为每个用户请求准备了一个预测系统(我们使用的是IIS,需要查看flask功能)
pickle文件的大小非常大,比如700MB,我不想为每个请求都加载它(因为每个请求都会消耗更多的RAM)
我们可以将pickle文件加载到flask缓存中并将其用于所有请求吗? (或) 我们能在所有请求之间共享数据吗,这样我们就不需要一次又一次地加载它了
请帮助实现在所有请求中共享pickle数据的示例
您可以尝试使用Flask-Cache这样的函数,并执行如下操作:
@cache.cached(timeout=None) def get_pickle_object(): return your_pickle_object
这样,pickle对象将只在第一次调用此函数时导入,然后从缓存中转储
您也可以在应用程序初始化期间调用它一次,以便它已经为第一个请求加载
然后每次需要对象时,使用get_pickle_object()而不是对象本身
get_pickle_object()
您可以尝试使用Flask-Cache这样的函数,并执行如下操作:
这样,pickle对象将只在第一次调用此函数时导入,然后从缓存中转储
您也可以在应用程序初始化期间调用它一次,以便它已经为第一个请求加载
然后每次需要对象时,使用
get_pickle_object()
而不是对象本身相关问题 更多 >
编程相关推荐