有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何为我的servlet缓存东西?

我正在使用Spring 3.1开发一个在Google App Engine上运行的web服务servlet,由于我对这个游戏还很陌生,我根本不知道应该如何缓存东西。在我的servlet的生命周期中,似乎有很多地方可以维护:

  1. 应用程序上下文。在这里定义bean可以让我轻松地将它们注入到代码中。这似乎是最简单的解决方案,只需将我的bean定义为单例
  2. Servlet上下文。为此,当我的servlet启动时,我可以通过抓取它的实例并执行setAttribute()来将内容放入ServletContext中
  3. Memcache。我还没有深入研究过这一点,但我想我会得到一个缓存实例,然后像ServletContext一样将一个对象推入其中

我想知道的具体案例是如何创建用户帐户。我想保留一个所有用户ID的哈希集,以便检查请求的用户ID是否已经在使用中

除上述具体情况外,包括使用每种不同技术的情况将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    在您的特定情况下,我建议您使用持久性存储,如数据存储或云sql(您可以看到所有替代here

    Memcache不是一个选项,因为您无法控制存储了多少元素。而且,任何应用程序上下文也不是解决方案,因为实例实际上在不同的数据中心中被多次加载和重新加载

    还请注意,AppEngine通过Users Service提供了对使用Google帐户或OpenId的支持