我在我的项目中有以下用例 - Python。 我们通过API为每个用户请求建立了一个预测系统(我们正在使用IIS,需要查看烧瓶功能)。
pickle文件的大小很大,比如700MB,我不想为每个请求加载它(因为它为每个请求消耗了更多的RAM)。
我们可以将pickle文件加载到flask缓存中并将其用于所有请求吗? (要么) 我们可以在所有请求中共享数据,以便我们不需要一次又一次地加载它吗?
请帮助您在所有请求中共享pickle数据的示例实现
答案 0 :(得分:1)
您可以尝试使用Flask-Cache之类的内容,并执行以下功能:
@cache.cached(timeout=None)
def get_pickle_object():
return your_pickle_object
这样,只有在第一次调用此函数时才会导入pickle对象,之后它将从缓存中转储。
您还可以在应用初始化期间调用一次,以便第一次请求时已加载它。
然后,每当您需要该对象时,请使用get_pickle_object()
而不是对象本身。