WSGI承载的Flask应用程序中的全局状态

2024-04-29 09:45:21 发布

您现在位置:Python中文网/ 问答频道 /正文

假设一个Flask应用程序允许通过许多步骤(如向导一样;客户端)来构建一个对象(服务器端)。 我想创建一个初始的对象服务器端,在客户端输入的情况下逐步构建它,使对象在整个构建过程中保持“活动”。每个新对象/向导的创建都会有一个唯一的id。在

在Apache上使用WSGI服务Flask应用程序,请求可以通过Flask应用程序的多个实例/多个线程。在

如何使这个对象在服务器端保持活动,或者换句话说,如何保持某种全局状态? 我喜欢将对象保存在内存中,而不是在磁盘上序列化/反序列化它。也没有饼干。在

编辑:

我知道Flask.g对象,但由于这是基于每个请求的,所以这不是一个有效的解决方案。 也许可以使用某种缓存层,例如:

from werkzeug.contrib.cache import SimpleCache
cache = SimpleCache()

这是有效的解决方案吗?这个层是否跨越多个应用实例?在


Tags: 对象实例id应用程序客户端flaskcache序列化
1条回答
网友
1楼 · 发布于 2024-04-29 09:45:21

你在找会话。在

你说你不想使用cookies,但你的意思是你不想将数据存储为cookie还是完全避免使用cookie?对于前一种情况,请看一下服务器端会话,例如Flask-KVSession

Instead of storing data on the client, only a securely generated ID is stored on the client, while the actual session data resides on the server.

相关问题 更多 >