GWT / GAE(缓存,公用文件夹......)中“动态”图像的配置是什么?

时间:2012-07-23 19:20:22

标签: image google-app-engine gwt caching

首先,当我们谈论“动态图像”时,我不知道应该理解什么......但是在我的网站上(谈论电影 - www.mananaseguro.com)我必须展示每部电影的海报。所以我认为这些图像被认为是动态图像。

我不知道:

  1. 如果这些图片应该在缓存中,如果是,那么到期日期(GAE)?

  2. 如果这些图片应该在公共文件夹(GWT)中?

  3. 如何正确引用这些图片,我使用setUrl("./MananaSeguro/posters/p1.gif")(GWT)?

  4. 如果我的APPLICATION_SPRITE(包含所有UI图像)都在缓存中(GAE)?

  5. 我不希望在./client/resources/目录中包含所有这些图像。是否可以将它们放在WAR目录中以使其更符合要求(如果是,如何配置它)?

  6. 之后,我将对我的数据库使用OBJECTIFY,但会出现同样的问题: 你知道我在目录中是否需要存储这些图像(我需要在数据库中引用它们的路径)?

  7. 我不知道GAE,但你知道是否有一个有趣的功能来存储这些图像(Blobstore)?

1 个答案:

答案 0 :(得分:4)

  1. 不确定您是在谈论Google memcache服务还是浏览器缓存。图像应存储在浏览器缓存中(图像服务时,图像服务将设置所需的标题)。图像不应存储在内存缓存服务中,即用于存储定期获取的数据和/或获取或计算的代价很高。

  2. 公众(我认为你的意思是“战争”?)文件夹是静态内容,而不是动态。如果您在此处存储电影图像,则每次添加电影时都需要重新部署应用程序。

  3. Images service从blobstore密钥生成服务URL。这些是您在客户端上传递给setUrl的URL。

  4. 应用程序精灵图像应该放在公共文件夹中,因为它是静态的。

  5. This page描述了如何指定应从WAR静态提供哪些文件/路径

  6. 动态图像将存储在blobstore中,因此您只需要保留blobstore密钥以检索它们

  7. 是的blobstore就是你所追求的。使用Images API为您做了很多“繁重的工作”。