0

例如,
First instance 维护了一个 count 变量(init 值为 0),在它服务了 10 个请求后,count 增加到 10。然后没有更多的请求,因此应用引擎关闭了第一个实例。
之后,创建第二个实例来处理传入请求。
我的问题是计数变量将是 10 还是重置为初始值 (0) ?
如果它被重置,有没有办法避免这种情况?(除了手动使用数据存储)?
谢谢

4

1 回答 1

1

我假设您正在谈论一个全局/模块级变量,该变量由每个请求递增。答案是每个实例都在自己的进程中运行,因此后续实例不仅会从零开始,而且由于您可以同时运行多个实例,因此每个实例都有自己独立的计数器。

正确的方法是使用memcache来存储密钥,这将是所有实例中的单个值。您可以memcache.incr('counter')自动增加值。

如果持久化数据很重要,您可以考虑存储分片计数器

于 2012-07-09T08:38:10.527 回答