在 Python Falcon 中的 api 调用之间将对象保存在内存中
Keeping object in memory between api call's in Python Falcon
我正在使用 python Falcon 开发后端 api 服务。
为了为每个 api 调用提供服务,我需要使用一个对象(所有请求都使用相同的对象),该对象每 X 小时(比如说 1 小时)刷新一次。目前此对象在 S3 中保存为 pickle。问题是,pickle 非常大(~20 MB),因此每次 api 调用都读取 pickle 似乎效率不高。
但是,我不确定在不同 api 调用之间将此对象保存在内存中的正确方法是什么,以及如何每 X 小时刷新一次。
因为pickle比较大,不想放在本地,更喜欢内存共享对象的方式。
谢谢,
奥伦
我不确定我是否完全理解您的要求。但是因为你只想存储在内存中并且是相同 python 进程的一部分,你可以考虑全局变量并使用它。参考这个 Using global variables in a function other than the one that created them
可能对你有帮助。
我正在使用 python Falcon 开发后端 api 服务。 为了为每个 api 调用提供服务,我需要使用一个对象(所有请求都使用相同的对象),该对象每 X 小时(比如说 1 小时)刷新一次。目前此对象在 S3 中保存为 pickle。问题是,pickle 非常大(~20 MB),因此每次 api 调用都读取 pickle 似乎效率不高。 但是,我不确定在不同 api 调用之间将此对象保存在内存中的正确方法是什么,以及如何每 X 小时刷新一次。 因为pickle比较大,不想放在本地,更喜欢内存共享对象的方式。
谢谢, 奥伦
我不确定我是否完全理解您的要求。但是因为你只想存储在内存中并且是相同 python 进程的一部分,你可以考虑全局变量并使用它。参考这个 Using global variables in a function other than the one that created them
可能对你有帮助。