1

我有一个类在我的应用程序首次启动时执行某些操作(初始化)。此初始化代码存在于静态块中。因此,通常应该在类第一次加载时只执行一次。

现在,当问题是当我的服务器没有请求时我的实例是动态的时,我的应用程序会被卸载。所以下次当请求到来时,应用程序会动态加载并且初始化代码再次运行。这就是我不想要的。

我知道这个问题可以通过使用常驻实例来解决。但我猜常驻实例在免费配额中不可用。如果我错了,请纠正我。

有什么办法可以让我摆脱这个问题?

将计算结果存储在 db 中是一种选择,但它不可行,因为我想要快速获取数据?memchace 怎么样?它会工作吗?memchace 中的数据是否会在我的应用程序的动态加载中保存?注意:我没有明确卸载我的实例,但是当我的应用程序没有收到任何请求时,应用程序引擎会这样做。

4

2 回答 2

1

或者您可以安排一个每 10 分钟定期运行的任务,该实例将保持加载状态。(确保开启线程安全)

于 2012-05-04T16:19:43.043 回答
1

Memcache 数据随时可能消失。只有数据存储数据才能保证是持久的。

您可以存储初始化数据并按顺序获取它:

  1. 静态数据成员(?)
  2. 内存缓存数据
  3. 数据存储数据

(这就是我所做的)如果你不想接受尼克的建议。

于 2012-04-27T15:08:35.150 回答