我正在使用 Spring 3.1 开发在 Google App Engine 上运行的 Web 服务 servlet,由于我对这个游戏很陌生,我根本不知道我应该如何缓存东西。在 servlet 的生命周期内,我似乎可以在很多地方放置要维护的东西:
- 应用程序上下文。在这里定义 bean 可以让我轻松地将它们注入到我的代码中。这似乎是最简单的解决方案,只需将我的 bean 范围设置为单例。
- Servlet 上下文。为此,当我的 servlet 启动时,我可以通过抓取它的实例并将其放入 ServletContext 中,然后执行
setAttribute()
. - 内存缓存。我还没有研究这么多,但我想我会得到一个缓存实例,然后像 ServletContext 一样将一个对象推入其中。
我很好奇的具体案例是创建用户帐户。我想保留所有用户 ID 的 HashSet,以便我可以检查请求的用户 ID 是否已在使用中。
除了上面的具体情况,包括使用每种不同技术的情况,将不胜感激。