如何在AppEngine (Python)中保持请求之间的状态?

1 投票
2 回答
574 浏览
提问于 2025-04-15 14:13

我正在用AppEngine写一个简单的应用程序,使用的是Python。用户成功插入数据后,我想在下一个页面上显示一个确认消息。

那么,保持请求之间的状态最好的方法是什么呢?或者说,这是不是不可能,因为AppEngine是分布式的?我想问的其实是,AppEngine是否提供一个持久的会话对象。

谢谢

汉尼斯

2 个回答

3

在请求之间可靠地保持状态的方法有几种,分别是使用内存缓存、数据存储,或者通过用户来实现(比如使用 cookies 或者 post/get 请求)。

你也可以使用运行时缓存,但这并不是很可靠,因为你不知道一个请求是否会在同一个运行环境中处理,或者运行环境可能会随时清空它的整个缓存。

我真的不建议在除了一些特定情况下使用运行时缓存,比如我会用它来缓存对象转成 json 的过程,因为这个过程比较慢,如果缓存没了,我可以很容易地重新生成结果。

3

App Engine 本身不提供会话支持,但你可以自己添加会话功能。

GAE Utilities 是一个专门为此设计的库;如果需要更强大的功能,可以通过 App Engine Patch 使用 Django 的会话功能。

撰写回答