读取文件并使用Python 2.7将其存储在App Engine上

时间:2012-08-08 05:57:06

标签: python google-app-engine memcached

我需要在Google App Engine(Python 2.7)上阅读5Mb文件并经常使用它。

读取GAE中的文件并不困难:Read a file on App Engine with Python?

困难的部分是将其存储在某个地方,以便我可以尽快尽快访问它。它是5MB,因此它超过了1MB数据存储项限制。

我考虑使用Blobstore,但我担心它不够快。阅读Blobstore比阅读文件更快吗?

我正在考虑将整个文件放在memcache中。可能吗? memcache是​​否足以存储5MB文件?

就像在电脑上一样,我需要把这个文件放在内存而不是硬盘上。

有什么建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

如果您的文件没有更改,那么您只需将其放在项目目录中并将其作为static file

现在回答问题:

  1. Blobstore足够快,因为GAE上的所有请求(blobstore或用户代码)都经过transparent cache。您只需在blobstore响应上设置适当的Cache-control标头即可将其缓存。

  2. Memcache max stored value is 1Mb。 memcache中的数据也可以随时消失,因此无论如何都需要将数据存储在永久存储中。此外,我怀疑它会更快,因为你的前端实例必须从Memcache获取数据然后提供它,而Blobstore服务的工作方式有点不同(通过拦截响应和在正文中插入数据)。

  3. 恕我直言,如果通过透明缓存提供数据,速度最快。

  4. 此外,如果您想提供图片,那么您可能需要使用图片服务,因为它似乎是faster then Blobstore